Open youngwind opened 8 years ago
随着团队的扩大,项目的增多,脚手架的缺失显得愈发地不可忍受。其问题主要有二:
一开始我是想自己写一个的,思路是这样的:
var generators = require('yeoman-generator'); // 调用shell命令 var process = require('child_process'); var exec = process.exec; module.exports = generators.Base.extend({ constructor: function (args, options, config) { generators.Base.apply(this, arguments); }, init: function () { // 这里还没想好怎么优化,只能先嵌套了! console.log('start copy'); var copy = exec('cp -r ' + __dirname + "/demo/. " + this.options.env.cwd); copy.on('exit', function (code) { console.log('copy done!'); console.log('start install bower dependiences'); var bowerInstall = exec('bower install'); bowerInstall.on('exit', function (code) { console.log('bower dependiences install done.'); console.log('start install npm dependiences'); var npmInstall = exec('npm install'); npmInstall.on('exit', function (code) { console.log('npm dependiences install done.'); console.log('start gulp'); var gulp = exec('gulp'); gulp.on('exit', function (code) { console.log('gulp done.'); console.log('start the app....'); var start = exec("npm run start"); console.log("please visit http://localhost:3000"); }) }) }); }); } });
现在回头看这段代码,真的是惨不忍睹。。。
参考资料:
事出有因
随着团队的扩大,项目的增多,脚手架的缺失显得愈发地不可忍受。其问题主要有二:
yeoman的初尝试
一开始我是想自己写一个的,思路是这样的:
现在回头看这段代码,真的是惨不忍睹。。。
反思
参考资料: