Scope 使用AMD和RequireJS命名整个文件时,最佳做法是什么

Scope 使用AMD和RequireJS命名整个文件时,最佳做法是什么,scope,requirejs,amd,procedural,Scope,Requirejs,Amd,Procedural,我是AMD的新手,我一直在想,怎样才能有这样一个文件,混合函数和逻辑: function abc() { .... } function def() { .... } function ghi() { .... } var something = { ... } if (abc === something) { for(var i = 1; i < 10000000; i++) { ... } } ... And so it

我是AMD的新手,我一直在想,怎样才能有这样一个文件,混合函数和逻辑:

function abc() {
    ....
}

function def() {
    ....
}

function ghi() {
    ....
}

var something = { ... }

if (abc === something) {
    for(var i = 1; i < 10000000; i++) {
       ...
    }
}

... And so it goes on for 1200 lines or so.
函数abc(){
....
}
函数def(){
....
}
函数ghi(){
....
}
var something={…}
如果(abc==某物){
对于(变量i=1;i<10000000;i++){
...
}
}
... 大约有1200行。
所以这个文件中并不是所有的东西都在函数内部,也只有在函数外部执行的逻辑


如何在另一个模块中包含这样的文件,并确保所有这些函数以及其他函数都不在AMD样式的全局命名空间/作用域中

您必须将整个文件内容包装到模块定义中:

define(函数(){
函数abc(){
// ....
}
函数def(){
// ....
}
函数ghi(){
// ....
}
var something={/*…*/}
如果(abc==某物){
对于(变量i=1;i<10000000;i++){
// ...
}
}
//…大约有1200行。
});
然后,在另一个模块中,只需要上面提到的:)但是这些函数对于需要包装代码的模块都不可用。但也可以排序,只需在包装文件末尾以对象文本形式返回它们