我正在使用replace-in-file查找所有对“旧/站点/的引用,并替换为File_Path。
File_Path是一个声明为全局的变量。
这是我的配置
with open(filename, 'rb') as fin:
prolog = np.fromfile(fin, dtype=np.int32, count=15)
因此您可以看到'to'设置为“ FILE_PATH +”,从而得出结果
let FILE_PATH;
const replace = require('replace-in-file');
const options = {
// file to update
files: './output.js',
// replacement to make (string or regex)
from: "old/site/",
to: "FILE_PATH+",
};
// asynchronous replacement with promises:
replace(options)
.then(changedFiles => {
console.log('Modified files:', changedFiles.join(', '));
})
.catch(error => {
console.error('Error occurred:', error);
});
我要找的结果是
"FILE_PATH+childurl"
如何将变量的引用而不是变量名作为字符串传递?
编辑
我有一个名为output.js的脚本 我有一个update_script.js
output.js 包含以下代码行
FILE_PATH+"childurl
update_script.js 运行上面的代码,该代码查找对“ old / site /”的所有引用,并将其替换为“ FILE_PATH +”,因此新路径类似于
我想要的
e.exports=n.p+"old/site/logo.svg"
所以我的问题是如何在不将其作为字符串传递的情况下传递FILE_PATH。现在,当我通过“ FILE_PATH +”时,URL将更新为
我能得到的
e.exports=n.p+FILE_PATH+"/logo.svg"
答案 0 :(得分:3)
您可以将回调值用于to
。它的参数将是匹配的字符串:
const options = {
files: './pgReactBuild/static/js/main.80e5f778.chunk.js',
from: "old/site/",
to: (childurl) => FILE_PATH + childurl,
};