这可能是基本的,但是由于我是新手,所以我无法理解我做错了什么,这是一种不好的做法。假设我有3个JS
文件:
a.js
b.js
sdk.js
说sdk.js
是一些SDK,我想从不同的js
文件(例如a
或b
)中调用其中的函数。
要走的路是只从其他任何文件 中直接调用sdk.js
中的函数吗?对我来说这似乎没有限制,但我不能在没有面向对象编程的情况下找不到另一种方法。
答案 0 :(得分:2)
有几种方法可以在另一个文件中调用函数。
在HTML文件中,确保首先加载导入<script>
的{{1}}标签,像这样
sdk.js
只要<script src="./sdk.js/"></script>
<script src="./a.js/"></script>
<script src="./b.js/"></script>
在全局名称空间中声明该函数,任何加载的后缀文件都应可以访问该函数
如果您可以使用ES6功能(例如,通过babel或webpack),则其他脚本可以import
文件。请看以下示例:
sdk.js:
sdk.js
a.js
export var foo = function(){
return "foo";
}
Node.js支持require
,这是另一种导入文件的方式。这些文件将在它们自己的范围内运行,并且您必须使用module exports来使函数或变量“公开”。
**毫无用处,这仅适用于节点,而不适用于浏览器
您也可以使用require.js库来导入其他文件。
This SO Question比我上面概述的答案要深入得多。祝你好运!
答案 1 :(得分:0)
可以使用
module.exports = {
a:()=>{
console.log("This is 'a' function");
},
b:()=>{
console.log("This is 'b' function");
}
}
您可以通过导入以下文件来从下一个文件调用这些功能
const file1 = require('that_file_name');
file1.a();
file1.b();
希望您得到正确的答案。