迁移到 Gulp 4,[不创建脚本和 运行 服务器。没有错误显示]
Migrating to Gulp 4, [not creating scripts and Running the server. No Error Shown]
我从 gulp 3.9.1 迁移到 4.0.2,我解决了需要引入 gulp.series 和 gulp.parallel 的问题。
在我生成的应用程序文件夹中,除了 css 个文件之外,我没有看到我的脚本被生成。
gulpfile.js
var gulp = require('gulp');
var templates = require('./tools/gulp-templates.js');
var scripts = require('./tools/gulp-scripts.js');
var styles = require('./tools/gulp-styles.js');
var fonts = require('./tools/gulp-fonts.js');
var build = require('./tools/gulp-build.js');
var run = require('./tools/gulp-run.js');
gulp.task('default', );
gulp.task('templates', templates);
gulp.task('scripts',gulp.parallel('templates'), scripts);
gulp.task('styles', styles);
gulp.task('fonts', fonts);
gulp.task('build', gulp.parallel('styles', 'scripts','fonts'), build);
gulp.task('run', gulp.parallel('build'), run);
gulp-scripts.js
let headerComment = require('gulp-header-comment');
let git = require('git-rev');
let strip = require('gulp-strip-comments');
let b = browserify({
detectGlobals: false,
entries: './src/app.js',
debug: true
}).transform("babelify", {
presets: [['es2015', {loose: true}], 'stage-0'],
plugins: ['transform-proto-to-assign']
});
module.exports = function() {
git.long(function (str) {
return b.bundle()
.pipe(source('app.js'))
.pipe(buffer())
.pipe(strip())
.pipe(streamify(uglify({compress: true, beautify: false})))
.pipe(headerComment(`Generated on <%= moment().format() %>
Commit: ${str}
`))
.pipe(gulp.dest('./app/'))
})
};
迁移前的应用文件夹
迁移后的应用文件夹
控制台输出错误
首先我要改变的是你的一些任务,比如
gulp.task('scripts',gulp.parallel('templates'), scripts);
gulp.task('build', gulp.parallel('styles', 'scripts','fonts'), build);
gulp.task('run', gulp.parallel('build'), run);
这是文档中的 task
签名 (https://gulpjs.com/docs/en/api/task#signature)
task([taskName], taskFunction)
你有 gulp.task('run', gulp.parallel('build'), run);
最后一个 run
必须是参数 taskFunction
的一部分所以你可能想要 :
gulp.task('run', gulp.series('build', run));
gulp.task('build', gulp.series( gulp.parallel('styles', 'scripts','fonts'), build));
和
gulp.task('scripts',gulp.series('templates', scripts));
您可能有其他问题,但请先进行上述更改。
我从 gulp 3.9.1 迁移到 4.0.2,我解决了需要引入 gulp.series 和 gulp.parallel 的问题。
在我生成的应用程序文件夹中,除了 css 个文件之外,我没有看到我的脚本被生成。
gulpfile.js
var gulp = require('gulp');
var templates = require('./tools/gulp-templates.js');
var scripts = require('./tools/gulp-scripts.js');
var styles = require('./tools/gulp-styles.js');
var fonts = require('./tools/gulp-fonts.js');
var build = require('./tools/gulp-build.js');
var run = require('./tools/gulp-run.js');
gulp.task('default', );
gulp.task('templates', templates);
gulp.task('scripts',gulp.parallel('templates'), scripts);
gulp.task('styles', styles);
gulp.task('fonts', fonts);
gulp.task('build', gulp.parallel('styles', 'scripts','fonts'), build);
gulp.task('run', gulp.parallel('build'), run);
gulp-scripts.js
let headerComment = require('gulp-header-comment');
let git = require('git-rev');
let strip = require('gulp-strip-comments');
let b = browserify({
detectGlobals: false,
entries: './src/app.js',
debug: true
}).transform("babelify", {
presets: [['es2015', {loose: true}], 'stage-0'],
plugins: ['transform-proto-to-assign']
});
module.exports = function() {
git.long(function (str) {
return b.bundle()
.pipe(source('app.js'))
.pipe(buffer())
.pipe(strip())
.pipe(streamify(uglify({compress: true, beautify: false})))
.pipe(headerComment(`Generated on <%= moment().format() %>
Commit: ${str}
`))
.pipe(gulp.dest('./app/'))
})
};
迁移前的应用文件夹
迁移后的应用文件夹
控制台输出错误
首先我要改变的是你的一些任务,比如
gulp.task('scripts',gulp.parallel('templates'), scripts);
gulp.task('build', gulp.parallel('styles', 'scripts','fonts'), build);
gulp.task('run', gulp.parallel('build'), run);
这是文档中的 task
签名 (https://gulpjs.com/docs/en/api/task#signature)
task([taskName], taskFunction)
你有 gulp.task('run', gulp.parallel('build'), run);
最后一个 run
必须是参数 taskFunction
的一部分所以你可能想要 :
gulp.task('run', gulp.series('build', run));
gulp.task('build', gulp.series( gulp.parallel('styles', 'scripts','fonts'), build));
和
gulp.task('scripts',gulp.series('templates', scripts));
您可能有其他问题,但请先进行上述更改。