1. 程式人生 > 其它 >gulpfile.js gulp升級後gulpfile.js的變化 gulp執行shell

gulpfile.js gulp升級後gulpfile.js的變化 gulp執行shell

框架升級,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']));