package.json
"scripts": {
"dev": "set NODE_ENV='development' && node script.env.js",
"prod": "set NODE_ENV='production' && node script.env.js",
"mac:dev": "export NODE_ENV='development' && node script.env.js",
"mac:prod": "export NODE_ENV='production' && node script.env.js"
},
script.env.js
const fs = require('fs');
const DEV = {
appid: 'dev',
host: 'https://dev.com'
};
const PROD = {
appid: 'prod',
host: 'https://prod.com',
plugins: {
"live-player-plugin":
{
"version": "1.0.17",
"provider": "wx2b03c6e691cd7370"
}
}
};
const ITEM = process.env.NODE_ENV.indexOf('development') > -1 ? DEV : PROD;
// 例如只有生产环境有直播插件,修改app.json里面的插件
fs.readFile(`${process.cwd()}/app.json`, (err, data) => {
if (err) throw err;
let _data = JSON.parse(data.toString());
if (process.env.NODE_ENV.indexOf('development') > -1) {
delete _data.subpackages[0].plugins;
} else {
_data.subpackages[0].plugins = ITEM.plugins;
}
writeFile('/app.json', _data);
});
// 修改project.config.json里面的appid
fs.readFile(`${process.cwd()}/project.config.json`, (err, data) => {
if (err) throw err;
let _data = JSON.parse(data.toString());
_data.appid = ITEM.appid;
writeFile('/project.config.json', _data);
});
// 修改config.js里面的host
const HOSTSTR = `exports.serverURL = "${ITEM.host}";`;
fs.writeFile(`${process.cwd()}/config.js`, HOSTSTR, function(err) {
if (err) throw err;
});
// 写文件
const writeFile = function(path, data) {
let str = JSON.stringify(data, null, 2);
fs.writeFile(`${process.cwd()}${path}`, str, function(err) {
if (err) throw err;
});
}
win 在控制台执行 npm run dev 或 npm run prod
mac 在控制台执行 npm run mac:dev 或 npm run mac:prod