vue-cli-plugin-winupon
Version:
winpuon vue-cli3 plugin
39 lines (38 loc) • 1.18 kB
JavaScript
const fs = require("fs");
module.exports = api => {
return {
// 添加js到js文件import后
addJsData(file, script) {
try {
fs.readFile(file, "utf-8", (err, data) => {
// 筛选掉在原文件中存在的内容
script = script.filter((item, index) => {
return !data.includes(item);
});
if (!script.length) return; // 如果没有要添加的就退出
script.unshift(""); // 多添加一个空字符串以添加换行
data = data.split("\n");
data.some((item, index) => {
if (!item.includes("import")) {
data.splice(index, 0, ...script);
return true;
}
});
fs.writeFileSync(file, data.join("\n"), "utf-8");
});
} catch (error) {
console.log(error);
}
},
// 更新vue.config.js
updateVueConfig(config) {
const rsPath = api.resolve("./vue.config.js");
if (fs.existsSync(rsPath)) {
config = { ...require(rsPath), ...config };
}
fs.writeFile(rsPath, api.genJSConfig(config), err => {
console.log(err);
});
}
};
};