没有发布机的情况下,生产环境每次上线打包都需要
- 本地dist在gitignore注释掉,
- 在执行打包命令,
- 再提交dist的代码到git上,
- 在把gitignore的dist修改回去
重复性工作很多。所以可以优化打包流程,从打包到自动提交git。
- 下载shelljs ,插件可以执行shell脚本,方便打包提交代码的git指令操作。(shelljs是异步执行的)
package.json
"build--prod": "node ../../handleDeployer.js production",
- 先修改gitignore忽略文件,把dist文件放开,再执行build命令,这一步主要就是修改忽略文件,因为node里很多操作都是异步的,所以拆开两个js,也可以合并成一个。
handleDeployer.js
require("shelljs");
console.log("shelljs");
const shell = require("shelljs");
shell.exec(`rm -rf dist/`);
const fs = require("fs");
const path = require("path");
fs.readFile(path.join(__dirname, ".gitignore"), "utf8", function (err, data) {
if (err) throw err;
let newContent = data.replace("/projects/crm/dist", 'zhanweifu');
fs.writeFile(
path.join(__dirname, ".gitignore"),
newContent,
"utf8",
(err) => {
if (err) throw err;
console.log("success done");
const shell