node.js require()在javascript标签中是相等的

运行node.js应用程序提供了一种方法来加载一个包含的js脚本作为一个类/variables。

— app.js —

var mine = require('myClass'); mine.DoSomething(); 

节点如何知道MyClass是文件“js / MyClassFile.js”?
什么是HTML <script>等价物?

它使用所谓的模块 。 例如在js/MyClassFile.js中必须有类似的东西

exports.myClass = function (r) { return {DoSomething: function(){} }; };

什么是HTML的等效?

如果通过HTML,你的意思是浏览器,那么有诸如browserify , systemjs , requirejs等的选项

欲了解更多信息,请查阅通过Addy Osmani 编写Modular JavaScript With AMD,CommonJS&ES Harmony 。

当你需要一个文件在说app.js,你应该使用它的相对path,并使用module.exports导出它。 这就是Node.js如何知道在哪里寻找它。
— app.js —

 var mine = require('../myClass') mine.doSomething(); 

— myClass.js —

 var myClass = { } module.exports = myClass; 

How does node know that MyClass is the file "js/MyClassFile.js"?

节点决定它的基础上的相对path,所以如果你在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)) 

否则你可以看看这个如何在另一个JavaScript文件中包含一个JavaScript文件?