first commit
This commit is contained in:
70
gulpfile.js
Normal file
70
gulpfile.js
Normal file
@@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Copyright (c) 2020. bmy
|
||||
*/
|
||||
|
||||
const gulp = require('gulp');
|
||||
const exec = require('child_process').exec;
|
||||
const file = require('./test');
|
||||
var oldText = [], newText = [];
|
||||
|
||||
|
||||
/**
|
||||
* 执行 vue-cli-service route 命令进行路由编译
|
||||
*/
|
||||
gulp.task('AutoCompileRouter', function (cb) {
|
||||
return exec('npm run route', (err, stdout, stderr) => {
|
||||
if (err) {
|
||||
console.log("编译失败: ", err);
|
||||
cb(err)
|
||||
} else {
|
||||
console.log("编译成功");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
gulp.task('AutoAddUrl', async (cb) => {
|
||||
newText = await file.getFileList();
|
||||
console.log("newText ------------- ", newText)
|
||||
let cy = diff(newText, oldText);
|
||||
console.log("diff ------------- ", cy)
|
||||
oldText = newText;
|
||||
cb()
|
||||
})
|
||||
|
||||
/**
|
||||
* 监听 page 所有文件的修改,自动触发 AutoCompileRouter 任务
|
||||
*/
|
||||
gulp.task('auto', async () => {
|
||||
oldText = await file.getFileList();
|
||||
console.log("oldText ------------- ", oldText)
|
||||
// gulp.watch('src/application/page/**/*', gulp.parallel('AutoCompileRouter'));
|
||||
gulp.watch('src/core/config/configure.config.ts', gulp.parallel('AutoAddUrl'));
|
||||
});
|
||||
|
||||
/**
|
||||
* diff 对比文件修改前后的差异,取出差异和结果
|
||||
* @param {*} newV 修改后
|
||||
* @param {*} oldV 修改前
|
||||
* @returns
|
||||
*/
|
||||
function diff(newV, oldV) {
|
||||
let status = "";
|
||||
|
||||
let oV = null, nV = null;
|
||||
if (newV.length > oldV.length) {
|
||||
status = "add"
|
||||
oV = new Set(newV)
|
||||
nV = new Set(oldV)
|
||||
} else {
|
||||
status = "delete"
|
||||
oV = new Set(oldV);
|
||||
nV = new Set(newV);
|
||||
}
|
||||
|
||||
return {
|
||||
status,
|
||||
item: Array.from(new Set([...oV].filter(x => !nV.has(x))))
|
||||
}
|
||||
}
|
||||
|
||||
gulp.task('default', gulp.parallel('auto'));
|
||||
Reference in New Issue
Block a user