custom-app
Version:
ITIMS��Ʒ�鿪��ר��React���,�Dz��ý��ּ�dhcc-app���������
48 lines (42 loc) • 1.71 kB
JavaScript
let exec = require('child_process').exec;
let spinner = require('../../util/spinner');
let chalk = require('chalk')
let path = require('path');
let fs = require("fs");
let util = require('../../util/util.js')
module.exports = (appName, options) => {
if (!appName) {
console.error(chalk.red('未指定spa目录'));
return;
}
let port = '8083'
if (options && options.port) {
port = options.port + ""
if (!Number.isFinite(+port)) {
console.error(chalk.red('端口不合法,应为有效数字'));
return;
}
}
const cwd = process.cwd()
const reactAppPath = util.getReactAppPath(cwd);
fs.writeFileSync(path.join(reactAppPath, 'config', 'rootpath.js'), `exports.path = '${reactAppPath.split("\\")}'`)
fs.writeFileSync(path.join(reactAppPath, 'config', 'project.js'), `exports.name = '${appName}'`)
delete require.cache[require.resolve(path.join(reactAppPath, 'config', 'rootpath.js'))]
delete require.cache[require.resolve(path.join(reactAppPath, 'config', 'project.js'))]
console.log('启动本地服务器,路径1:' + path.join(reactAppPath, "src", appName))
var install_webpack = `node devServer.conf.js ${appName} ${port}`;
if (options && options.report) {
install_webpack = `node devServer.conf.js ${appName} ${port} -r`;
}
try {
let workerProcess = exec(install_webpack, { cwd: path.join(reactAppPath, "config") })
workerProcess.stdout.on('data', function (data) {
console.log(data)
});
workerProcess.stderr.on('data', function (data) {
console.error(chalk.red('启动本地服务器失败:' + data));
});
} catch (error) {
console.error(error);
}
}