【发布时间】:2017-06-10 22:46:01
【问题描述】:
我有一个非常大的淘汰视图模型,它由数百个其他视图模型组成,这些视图模型深入了几个层次。这个视图模型变得如此之大,我不得不将各种视图模型分离到它们自己的文件中。我使用 requirejs 来合并所有这些文件以进行加载。我承认,我对 requirejs 几乎一无所知,但它似乎起到了作用。我的 main,js 是这样的:
requirejs(
["Scripts/ViewModel/Shipment/consts.js",
"Scripts/ViewModel/Shipment/utils.js",
"Scripts/ViewModel/Shipment/functions.js",
"Scripts/ViewModel/Shipment/OptionListItemVM.js",
"Scripts/ViewModel/Shipment/OptionsVM.js",
"Scripts/ViewModel/Shipment/ShipmentOptionsVM.js",
"Scripts/ViewModel/Shipment/PackOptionsVM.js", .... (and so on)
非常基本的东西,而且可能不正确。所以现在所有这些文件都作为全局变量加载,这很糟糕。将所有这些淘汰视图模型(跨越多个文件)作为全局加载到 1 个命名空间的最佳方法是什么? requirejs 是否通过 define() 提供了任何功能?还是应该手动更改要在这 1 个命名空间中定义的每个视图模型?
另外,可以利用 IIFE 来完成我的需要吗?
谢谢!
【问题讨论】:
标签: javascript knockout.js requirejs iife