如题
const Service = require("@vue/cli-service");
const {semver, error} = require('@vue/cli-shared-utils');
const service = new Service(process.env.VUE_CLI_CONTEXT || process.cwd());
const exec = require('child_process').exec;
const rawArgv = process.argv.slice(2)
const args = require('minimist')(rawArgv, {
boolean: [
// build
'modern',
'report',
'report-json',
'inline-vue',
'watch',
// serve
'open',
'copy',
'https',
// inspect
'verbose'
]
})
const command = args._[0] || "serve";
setTimeout(__=>{
return new Promise((resolve, reject) => {
//启动之前执行一些异步操作
const proc = exec('npm run build', function(err,stdout,stderr){
if(err) {
reject('npm run build:'+stderr);
} else {
console.log(stdout);
resolve();
}
});
proc.stdout.on('data', console.log);
proc.stderr.on('data',console.error);
})
.then(service.run(command, args, rawArgv))
.catch(err => {
error(err)
process.exit(1);
})
;
})