我有一个js文件:
function library_f() {
}
function some_f() {
library_f();
}
function another_f() {
library_f();
}
Run Code Online (Sandbox Code Playgroud)
但代码看起来很难看,我决定将我的js文件拆分为三个:
one.js:
function library_f() {
}
Run Code Online (Sandbox Code Playgroud)
two.js:
function some_f() {
library_f();
}
Run Code Online (Sandbox Code Playgroud)
three.js所:
function another_f() {
library_f();
}
Run Code Online (Sandbox Code Playgroud)
但现在我得到了错误
library_f() is not defined
Run Code Online (Sandbox Code Playgroud)
如何设置包含我的js文件的顺序?
Aks*_*hat 20
来自文档:
首先加载应用程序根目录下的lib目录中的文件.匹配main.*的文件将在其他所有内容之后加载.
子目录中的文件在父目录中的文件之前加载,以便最先加载最深子目录中的文件(在lib之后),并且最后加载根目录中的文件(除了main.*之外).
在目录中,文件按文件名的字母顺序加载.
这些规则堆栈,因此在lib中,例如,文件仍然按字母顺序加载; 如果有多个名为main.js的文件,则子目录中的文件会先加载.
但看起来无法访问这些功能,因为它们不是全局的.在meteor中,除非变量或函数是全局的,否则每个文件的变量/函数都不能被另一个文件访问.
所以你需要以这种方式声明你的函数:
library_f = library_f() {
...
}
Run Code Online (Sandbox Code Playgroud)
这样它就可以被其他文件访问了.变量也是如此:
var x = true; //Not accessible by other files
x = true; //Accessible by other files
var dothis = function () {...} //Not accessible by other files
dothis = function() {..} //Not accessible by other files
function dothis() {..} //Not accessible ny other files
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4073 次 |
| 最近记录: |