gpt4 book ai didi

javascript - 使用 AMD Requirejs + Backbone Js 时处理全局变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:00 25 4
gpt4 key购买 nike

在应用程序中,我需要配置一些全局变量,并且跨模块使用它们。我的配置文件可能看起来像。

config.js:

var config = {
baseServiceUrl: 'http://localhost/baseServiceUrl',
baseUrl: 'http://localhost/baseUrl',

mapping_764: {
location:'Austin',
emailAddress:'austin@customerservice.com',
registerLink:'https://www.customercare.com/en/austin/registration/',
fbLikeLink:'https://www.facebook.com/customercare.austin',
microSite: 'http://austin.customercare.com/'
}
}

我只是使用脚本标签和 requirejs 加载这个文件。
<script src="js/app/config.js"></script>
<script data-main="js/main" src="js/libs/require/require.js"></script>

现在全局变量(对象)config 可以在所有模块中使用,也可以从浏览器控制台使用。所以我在想,如果有人更改了这个配置属性,应用程序肯定会崩溃,因为这个配置变量用于服务调用和许多其他事情。

有什么办法可以处理这种问题吗?

最佳答案

有几件事可能对您有所帮助:

首先,对于纯粹的“站点配置”(例如 REST URL)信息,RequireJS 有一个配置 API。来自 the documentation :

requirejs.config({
config: {
'bar': {
size: 'large'
},
'baz': {
color: 'blue'
}
}
});

//bar.js, which uses simplified CJS wrapping:
//http://requirejs.org/docs/whyamd.html#sugar
define(function (require, exports, module) {
//Will be the value 'large'
var size = module.config().size;
});

还有this question如果您不想使用配置 API,它解决了传递全局变量的一般情况。

其次,对于将数据引导到 Backbone 模型中,在 this question 中进行了广泛的讨论。

关于javascript - 使用 AMD Requirejs + Backbone Js 时处理全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16559208/

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