问题描述:代码上线后检测到有外网网址,存在安全隐患,所以需要查找并替换。
- 第一步:
- package.json中新建脚本命令,如下:
"scripts": {
"build": "node build/build.js && npm run replace",
"replace": "node replace-in-js-files.js"
}
- 第二步:根目录新建replace-in-js-files.js文件,内容如下:
const fs = require('fs-extra');
const glob = require('glob');
// 要搜索的文件模式
const fileGlob = 'dist/**/*.js';
// 要搜索和替换的正则表达式和替换字符串
const regex = /\b(www.jacklmoore.com|www.facebook.com|github.com|twitter.com)\b/g;
const replaceWith = '#';
// 扫描文件并替换内容
glob(fileGlob, (err, files) => {
if (err) {
console.error('An error occurred:', err);
process.exit(1);
}
files.forEach(filePath => {
let content = fs.readFileSync(filePath, 'utf8');
content = content.replace(regex, replaceWith);
fs.writeFileSync(filePath, content, 'utf8');
});
console.log('Replacement completed.');
});
- 第三步:打包即可。(需要安装fs-extra,glob两个包,注意版本)
npm i fs-extra glob -D