假设我有一堆构建func的JavaScript文件:
me.add ([
panel1: [{
url: 'https://localhost:8888/MyProj-0.0.1/resources/html/dir1/page1.html'
}, {
url: 'https://localhost:8888/MyProj-0.0.1/resources/html/dir2/page5.html'
}]);
如何使用属性文件来管理所有这些引用的前面部分? 也就是说,我希望将所有具有上述功能的60多个JavaScript文件更改为:
me.add ([
panel1: [{
url: '($MagicGoesHere)/resources/html/dir1/page1.html'
}, {
url: '($MagicGoesHere)/resources/html/dir2/page5.html'
}]);
这样我就可以从项目中的一个文件中读取一个属性,该文件为所有这些引用定义了MagicGoesHere。
注意,我只想在构建项目时执行此操作;我不需要读取属性并在Web服务器上公开。 (即,当我部署构建的WAR时,所有引用都将在构建期间进行扩展)
我的目标是在发布MyProj-0.0.2
时轻松更新引用TIA,
答案 0 :(得分:0)
您可以轻松使用常量文件。
我-constants.js 强>
const myConstants = {
baseUrl: 'http://localhost:8888/MyProj-0.0.1/'
};
module.exports = myConstants;
我-app.js 强>
const myConstants = require('./my-constants');
me.add([
{
panel1: [
{ url : myConstants.baseUrl + 'resources/html/dir1/page1.html' }
]
}
])
以上不符合您对问题的这种限制:
注意,我只想在构建项目时执行此操作;我不需要读取属性并在Web服务器上公开。 (即,当我部署构建的WAR时,所有引用都将在构建期间进行扩展)
但是,我认为值得问一下这是否真的有必要。常量文件没有成本。在构建期间替换源代码所带来的复杂程度是非常重要的,它引入了新的安全问题。
如果确实希望将此作为构建步骤,那么我最喜欢的工作是rollup-plugin-replace。它包含了一些你可能想要的功能,比如delimiters
,没有任何瑕疵。