node.js通过实现CommonJS的Modules/1.0标准引入了模块(module)概念,一个模块可以通过module.exports或exports将函数、变量等导出,以使其它JavaScript脚本通过require()函数引入并使用。
现在有一个问题:到底应该用module.exports还是用exports呢?
console.log(module.exports === exports);
代码比较,其实两者是一样的
node在执行的时候,实际上是有一个全局变量module,但是,exports却是通过动态生成一个function,作为此function的参数传进来的。
那么exports = function() {};之后,只是地址改变。exports的内容并没有改变
那么,如果要实现类似于var assert = require("assert"); assert();这样的代码如何实现?看以下代码:
moduleTest.js
var exports = module.exports = function(param) {
console.log(param);
};
exports.print = function(param) {
console.log(param + ",we are printing.");
};
simple.js
var test = require("./moduleTest");
test("I'm John.");
test.print("444");
So...如果要实现assert的调用,必须
exports = module.exports = someObject;
exports.sth = sobj; // 如果还需要加入其他属性则这样写
分享到:
相关推荐
本文主要介绍了exports 和 module.exports 的区别。具有很好的参考价值,下面跟着小编一起来看下吧
Node.js 引入了模块(Module)概念,一个模块可以通过module.exports 或 exports 将函数、变量等导出,以使其它 JavaScript 脚本通过require() 函数引入并使用。那么node.js中module.exports与exports有什么区别呢?...
例如:(假设这是rocker.js文件) 代码如下: exports.name = function() { console.log(‘My name is Lemmy Kilmister’); }; 在另一个文件中你这样引用 代码如下: var rocker = require(‘./rocker.js’); rocker....
主要介绍了详解Node.js中exports和module.exports的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
exports 变量是在模块的文件级作用域内可用的,且在模块执行之前赋值给 module.exports在nodejs中,提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即...
一、官方解释 因为SeaJs和Nodejs都是基于CommonJS,所以直接看的Node的官方文档解释 Module.exports The module.exports ... To do this, assign the desired export object to module.exports. Note that assigning
重点 : 导出 module.exports exports.变量 = 导出的对象 不能让exports直接指向一个对象, 因为,exports 就 不再指向module.exports了, 指向新对象了 导入 require("模块的路径") 不仅能引入模块,也能够...
本篇文章主要介绍了浅谈node中的exports与module.exports的关系,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要给大家介绍了关于node.js中的exports、module.exports与ES6中的export、export default到时是什么的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...
重点 : 导出 module.exports exports.变量 = 导出的对象 不能让exports直接指向一个对象, 因为,exports 就 不再指向module.exports了, 指向新对象了 导入 require("模块的路径") 不仅能引入模块,也能够...
Jering.Javascript.NodeJS目录总览Jering.Javascript.NodeJS使您能够调用JavaScript中 ,从C#。 借助此功能,您可以使用C#项目中的javascript库和脚本... 静态API示例: string javascriptModule = @"module.exports
NodifyJS NodifyJS 是一个 javascript 库,它允许您像我们在 NodeJs 中使用的一样使用 require 和 module.exports。 这有助于我们组织我们的代码并将它们分解成许多 js 文件。 它还允许前端开发人员从浏览器中享受 ...
本文主要分析了Nodejs中require导入JSON和js文件时得到的结果,同时简单涉及到了Nodejs中模块导出module.exports和exports的用法。 引言 在阅读webpack源码的过程当中,见到如下一行代码: const version = ...
module.exports = { ... 'extends': [ 'minxing/eslint-config-node7x.js' ], ... }; nodejs 8.x 或更高 module.exports = { ... 'extends': [ 'minxing/eslint-config-node8x.js' ], ... }; src目录下的....
它允许您使用 Commonjs/NodeJS 风格的“require()”来处理客户端项目中的依赖项,而无需编译任何东西。 用法非常简单:只需将其包含在您的 HTML 文件中,并将其指向您的 Entry-JS 文件,如下所示: [removed]...
节点函数调用程序为由单个NodeJS模块组成的函数提供宿主。 它遵循并相应地调用功能。 支持功能 非流式传输功能(又名请求-答复功能) 非流式传输功能,更具体地说是“请求-答复”功能,例如: module . exports = ...
ES6和CommonJS都有自己的一套处理模块化代码的措施,即JS...module.exports.count = count; module.exports.Hello = function() { var name; this.setName = function(newName) { name = newName; } this.sayHel
主要介绍了node中modules.exports与exports导出的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧