Метод Window.getComputedStyle() возвращает объект, содержащий значения всех CSS-свойств элемента, полученных после применения всех активных таблиц стилей, и завершения базовых вычислений значений, которые они могут содержать.getComputedStyle().style возвращает те стили, которые были установлены непосредственно в CSS, поэтому строка "50%" после обращения к значению бордер-радиуса - нормальное явление.if (theme.getAttribute("href" == "css\main.css")). Вы некорректно разместили условие, указав его в аргументах метода getAttribute. if (theme.getAttribute("href") == "css\main.css") array[i].document.write(
`<a href="dog.html"><div style="font-family: Verdana" class="button">${array[i]}</div></a>`
); AssertionError [ERR_ASSERION] Task never defined: server доходчиво говорит Вам, что таск server, который Вы используете в gulp.parallel('watch', 'server', 'style'), неопределён.'browser-sync', его Вам и нужно использовать, либо переименовать его в 'server'.dest.on is not a function возникает из-за того, что что-то, вызываемое в вашем пайплайне не является потоком..pipe(ttf2woff2). Дело в том, что данная функция не вызвана и, соответственно, не возвращает поток..pipe(ttf2woff2) на .pipe(ttf2woff2()), и ошибка должна исчезнуть. numberOne не инициализирована, из-за чего имеет значение undefined.addNumber вы к undefined прибавляете строку numberEnter, из-за чего в результате конкатенации получается строка undefined${numberEnter}.numberOne, например, присвоив ей значение "", и тогда undefined в Вашем выводе исчезнет. watching (или любое другое название, это не играет значения) и присваиваем ей значение false, затем внутри таска Pug инициализируем плагин emitty:const emittyPug = emitty.setup('src', 'pug', { makeVinylFile: true })emittyPugChangedFile (она будет нужна, чтобы потом присвоить ей необходимое значение в gulp.watch()). Также не забудьте функции таска Pug указать аргумент-коллбэк (в данном случае done), так как Gulp может жаловаться на отсутствие асинхронного завершения.return new Promise(() => {
emittyPug.scan(global.emittyPugChangedFile).then(() => {
.src()
...
.pipe(gulpif(watch, emittyPug.filter(global.emittyPugChangedFile)))
...
dest()
})
done()
});serve присвойте переменной watching значение true и напишите следующий gulp.watch() для Pug:watch(['src/pages/**/*.pug', 'src/components/**/*.pug'], pugHandler).on('all', (event, filepath) => {
global.emittyPugChangedFile = event === 'unlink' ? undefined : filepath;
});gulp.task('watch', async function() {
gulp.src('./src/precss/**/*.css', ['build']);
}); <a href="#" calss="logo">Art<span>Case</span><span>Store</span></a><a href="#" class="logo">Art<span>Case</span><span>Store</span></a>@mixin retina-property($property, $startSize, $minSize) {
$additionalSize: $startSize - $minSize;
#{$property}: calc(
#{$minSize + px} + #{$additionalSize} * ((100vw - 320px) / #{$maxWidth - 320})
);
} gulp.task('server', function(done) {
browserSync({
server: {
baseDir: "src"
}
});
gulp.watch("src/*.html").on('change', browserSync.reload);
done();
}); import plumber from 'gulp-plumber';
// or
// const plumber = require('gulp-plumber');
function scripts() {
return src(['app/js/*.js', '!app/js/*.min.js'])
.pipe(plumber())
.pipe(webpackStream({
mode: 'production',
performance: { hints: false },
plugins: [
new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery', 'window.jQuery': 'jquery' }), // jQuery (npm i jquery)
],
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
plugins: ['babel-plugin-root-import']
}
}
}
]
},
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
terserOptions: { format: { comments: false } },
extractComments: false
})
]
},
}, webpack)).on('error', function handleError() {
this.emit('end')
})
.pipe(concat('app.min.js'))
.pipe(dest('app/js'))
.pipe(browserSync.stream())
} function validate () {
return src('.')
.pipe(plumberSmart())
.pipe(through2(function (file, enc, callback) {
callback(new PluginError({
plugin: 'validate',
message: `${chalk.underline('Привет я строка 1')}\n${chalk.cyan('Привет я строка 2')}\n\nЯ подведение итогов`
}))
}))
} import { deleteSync } from 'del'