运行node.js应用程序提供了一种将包含的js脚本作为类/变量加载的方法。
--- app.js ---
var mine = require('myClass');
mine.DoSomething();
节点如何知道MyClass是文件“js / MyClassFile.js”?
什么是HTML <script>
等价物?
答案 0 :(得分:1)
它使用名为modules的东西。
例如,在js/MyClassFile.js
中必须有类似
exports.myClass = function (r) {
return {DoSomething: function(){} };
};
什么是HTML等价物?
如果用html表示浏览器,那么有browserify,systemjs,requirejs等选项
了解更多信息,请查看Addy Osmani的Writing Modular JavaScript With AMD, CommonJS & ES Harmony。
答案 1 :(得分:0)
当你需要app.js中的文件时,你应该使用它的相对路径并使用module.exports导出它。那就是Node.js如何知道在哪里寻找它。
--- app.js ---
var mine = require('../myClass')
mine.doSomething();
--- myClass.js ---
var myClass = {
}
module.exports = myClass;
答案 2 :(得分:0)
How does node know that MyClass is the file "js/MyClassFile.js"?
节点根据相对路径决定它,所以如果你在js
文件夹并尝试使用var mine = require('myClass');
那么这意味着myClass
在js
文件夹中
对于等效的HTML,你需要使用模块,但你可以在es6
这样做,请注意es6支持仍然有限
// lib/math.js
export function sum (x, y) { return x + y }
export var pi = 3.141593
// someApp.js
import * as math from "lib/math"
console.log("2π = " + math.sum(math.pi, math.pi))
// otherApp.js
import { sum, pi } from "lib/math"
console.log("2π = " + sum(pi, pi))
否则你可以看看这个How do I include a JavaScript file in another JavaScript file?