gpt4 book ai didi

javascript - 如何使用 JavaScript 参数的外部值?

转载 作者:行者123 更新时间:2023-11-28 04:25:52 25 4
gpt4 key购买 nike

假设我有一堆 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 根。

注意,我只想将其作为构建项目的一部分;我不需要读取属性并在网络服务器上公开。 (即,当我部署构建的 WAR 时,所有引用都将在构建过程中扩展)

我的目标是在发布 MyProj-0.0.2 时轻松更新引用

TIA,

最佳答案

您可以轻松地使用常量文件。

my-constants.js

const myConstants = {
baseUrl: 'http://localhost:8888/MyProj-0.0.1/'
};
module.exports = myConstants;

my-app.js

const myConstants = require('./my-constants');

me.add([
{
panel1: [
{ url : myConstants.baseUrl + 'resources/html/dir1/page1.html' }
]
}
])

以上内容不满足您对问题施加的约束:

Note, I only want to do this as part of building my project; I do not need to read in a property and expose is on the webserver. (ie, when I deploy the WAR that gets built, all of the refs will have been expanded during the build)

但是,我认为值得一问的是这是否真的有必要。常量文件没有任何成本。在构建过程中替换源代码所带来的复杂性非常大,并且会带来新的安全问题。

如果您真的想将其作为构建步骤,那么我最喜欢的工具是 rollup-plugin-replace 。它包含一些您可能需要的功能,例如分隔符,没有任何麻烦。

关于javascript - 如何使用 JavaScript 参数的外部值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45069617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com