bm_scaffold_async_router
Version:
本木前端脚手架-异步路由版
75 lines (62 loc) • 1.95 kB
JavaScript
/**
* @Author: songqi
* @Date: 2017-01-10
* @Last modified by: songqi
* @Last modified time: 2017-03-23
*/
var path = require('path'),
print = require('../../utils/print'),
argv = require('yargs').argv,
eros = require('./eros/index'),
erosConsole = require('./eros/util.js').erosConsole;
var config = {
name: 'eros',
explain: 'bm 脚手架 weex-eros 开发工具',
command: 'bm eros',
options: [{
keys: ['dev'],
describe: '开启本地服务,默认80端口拦截'
}, {
keys: ['pack'],
describe: '生成 eros 内置包'
}, {
keys: ['install'],
describe: '更新下载 ios 或者 android 依赖'
}]
}
function helpTitle() {
print.title(config);;
}
function helpCommand() {
print.command(config);
}
function menuCheck() {
return (process.cwd() + path.sep).indexOf(path.sep + 'fe' + path.sep) > -1;
}
function run() {
(argv.h || argv.help) && helpCommand();
if(argv._[1] === 'init') {
eros.initCreate();
return;
}
if(!menuCheck()) {
erosConsole('请在 fe 目录下执行 eros 指令');
return;
}
(argv._[1] === 'dev') && eros.devServer();
(argv._[1] === 'build') && eros.devBuild();
(argv._[1] === 'update') && eros.updateProject(argv._[2]);
(argv._[1] === 'pack' && !argv.ios && !argv.android) && eros.packSelect();
(argv._[1] === 'pack' && argv.ios) && eros.packIos();
(argv._[1] === 'pack' && argv.android) && eros.packAndroid();
(argv._[1] === 'install' && !argv.ios && !argv.android && !argv.fe) && eros.installSelect();
(argv._[1] === 'install' && argv.ios) && eros.installIosDep();
(argv._[1] === 'install' && argv.android) && eros.installAndroidDep();
(argv._[1] === 'install' && argv.fe) && eros.installComponents();
}
module.exports = {
run: run,
config: config,
helpTitle: helpTitle,
helpCommand: helpCommand
}