Gulp文件代码:
let preprocessor = 'sass';
const {app, dest, parallel, watch} = require('gulp'),
browserSync = require('browser-sync').create(),
concat = require('gulp-concat'),
uglify = require('gulp-uglify-es').default(),
sass = require('gulp-sass'),
autoprefixer = require('gulp-autoprefixer'),
cleancss = require('gulp-clean-css'),
imagemin = require('gulp-imagemin'),
newer = require('gulp-newer'),
del = require('del');
function browsersync() {
browserSync.init({
server: {'baseDir': 'src/'},
notify: false,
online: true
});
}
function scripts() {
return app([
'src/js/script.js'
])
.pipe(concat('script.min.js'))
.pipe(uglify())
.pipe(dest('src/js/'))
.pipe(browserSync.stream());
}
function startwatch() {
watch(['src/**/*.js', '!src/**/*.min.js'], scripts);
watch('src/**/' + preprocessor + '/**/*', styles);
watch('src/**/*.html').on('change', browserSync.reload);
watch('src/images/**/*', images);
}
function styles() {
return app('src/' + preprocessor + '/style.' + preprocessor + '')
.pipe(eval(preprocessor)())
.pipe(concat('style.min.css'))
.pipe(autoprefixer({ overrideBrowserslist: ['last 10 versions'], grid: true }))
.pipe(cleancss( { level: { 1: { specialComments: 0 } }} ))
.pipe(dest('src/css/'))
.pipe(browserSync.stream());
}
function images() {
return app('src/images/**/*')
.pipe(newer('src/images'))
.pipe(imagemin())
.pipe(dest('src/images'));
}
function cleanimg() {
return del('src/images/**/*', { force: true });
}
exports.browsersync = browsersync;
exports.scripts = scripts;
exports.styles = styles;
exports.images = images;
exports.cleanimg = cleanimg;
exports.default = parallel(styles, scripts, browsersync, startwatch);
结果:
[21:41:22] 'styles' errored after 38 ms
[21:41:22] TypeError: app is not a function
at styles (C:\Users\vladi\Desktop\projects\Web\nextPr\gulpfile.js:42:9)
at bound (domain.js:413:15)
at runBound (domain.js:424:12)
at asyncRunner (C:\Users\vladi\Desktop\projects\Web\nextPr\node_modules\async-done\index.js:55:18)
at processTicksAndRejections (internal/process/task_queues.js:75:11)
[21:41:22] 'default' errored after 70 ms
解释为什么有一个问题,我不明白。我已经爬遍了谷歌,并没有找到一个解决这个问题的方法。我将非常感激,如果你能帮助。我从互联网上部分采取了这个代码,但是没有找到这个问题的解决方案。我是Web开发的新手,对我来说仍然很难导航。我可以'I don“我找不到一个人能告诉我或指引我正确的方向。
2条答案
按热度按时间wpx232ag1#
更改此行:
const {app, dest, parallel, watch} = require('gulp'),
至
const {src, dest, parallel, watch} = require('gulp'),
我不知道
app
从哪里来,但没有从gulp导出app
。然后将所有引用更改为
app
,例如:return app('src/' + preprocessor + '/style.' + preprocessor + '')
至
return src('src/' + preprocessor + '/style.' + preprocessor + '')
k97glaaz2#
下一次,错误会告诉你问题到底出在哪一行,你最终会学会理解某些类型的错误--例如,“something is not a function”意味着你把某个东西当作函数来使用,但它不是函数(也许它是不同的类型,也许它甚至没有被定义--比如在这个例子中)。
这会导致你看“app()"。为什么它不是一个函数?
如果你使用外部库-它通常有一个文档,你可以通过。
在这种情况下,你会发现里面没有关于“应用程序”的内容,你也会找到比你从谁知道哪里抄来的更好的例子。