框架升级,gulp也从3.9升到4.0。还是有一些变化的。具体如下:
3.9版:
var gulp = require('gulp'); const del = require('del'); const fs = require('fs-extra'); const path = require('path'); const shell = require('gulp-shell'); gulp.task('del-build', function() { return del('./build/dist/*', { force: true }); }); gulp.task('add-packagejson', ['del-build'], function() { return (function() { const packageJson = path.join(__dirname, './package.json'); const assetsURL = path.join(__dirname, './src/assets'); const distFolder = path.join(__dirname, './build/dist'); const packageConfig = fs.readJsonSync(packageJson); fs.outputJson(distFolder + '/package.json', packageConfig); fs.copySync(assetsURL, distFolder + '/assets'); // 拷贝静态文件到编译目录 })(); }); gulp.task('build', ['add-packagejson'], shell.task(['yarn run tsc']));4.0版:
var gulp = require('gulp'); const del = require('del'); const fs = require('fs-extra'); const path = require('path'); const shell = require('gulp-shell'); gulp.task('del-build', gulp.series( function() { return del('./build/dist/*', { force: true }); })); gulp.task('add-packagejson', gulp.series(['del-build'],shell.task(['yarn run tsc']),function(done) { // gulp 4.0 需要用 gulp.series(),和done()结束。例如 gulp.series()('[del'],...,function(done)) return (function() { const packageJson = path.join(__dirname, './package.json'); const assetsURL = path.join(__dirname, './src/assets'); const distFolder = path.join(__dirname, './build/dist'); const packageConfig = fs.readJsonSync(packageJson); fs.outputJson(distFolder + '/package.json', packageConfig); console.log('拷贝静态文件到编译目录'); fs.copySync(assetsURL, distFolder + '/assets'); done(); })(); })); gulp.task('build',gulp.series(['add-packagejson']));