node.js require()在javascript标记中等于

时间:2016-01-03 13:44:38

标签: javascript node.js

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

--- app.js ---

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

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

3 个答案:

答案 0 :(得分:1)

它使用名为modules的东西。 例如,在js/MyClassFile.js中必须有类似

的内容

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

  

什么是HTML等价物?

如果用html表示浏览器,那么有browserifysystemjsrequirejs等选项

了解更多信息,请查看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');那么这意味着myClassjs文件夹中

对于等效的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?