nodeJS中exports和mopdule.exports的区别】的更多相关文章

每一个node.js执行文件,都自动创建一个module对象,同时,module对象会创建一个叫exports的属性,初始化的值是 {} module.exports = {}; Node.js为了方便地导出功能函数,node.js会自动地实现以下这个语句 foo.js exports.a = function(){ console.log('a') } exports.a = 1 test.js var x = require('./foo'); console.log(x.a) 看到这里,相…
process.cwd() 是当前执行node命令时候的文件夹地址 ——工作目录,保证了文件在不同的目录下执行时,路径始终不变__dirname 是被执行的js 文件的地址 ——文件所在目录 Nodejs官方文档上的解释: process.cwd(): The process.cwd() method returns the current working directory of the Node.js process. 意思很明了啦,就是说process.cwd()返回的是当前Node.js…
模块是一门语言编写大项目的基石,因此,了解如何组织.编写.编译.加载模块很重要.这里主要谈谈Node中的模块加载. 1.Node中的模块,主要使用require来加载模块,文件 require("./") --- 加载本文件夹下面的package.json,如果没有,则加载index.js.index.node require("some.js") --加载本文件夹下面的some.js文件 require("lib/some.js") --加载l…
通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ ,这些核心模块被编译成二进制文件,可以require('模块名')去获取:核心模块具有最高的加载优先级(有模块与核心模块同名时会体现),如: var fs=require('fs'); var http=require('http') 文件模块访问方式通过require('/文件名.后缀') require('./文件名.后缀') requrie('../文件名.后缀') 去…
CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有标准的缺陷.它的终极目标就是:提供一个类似 Python,Ruby 和 Java 语言的标准库,而不只是停留在小脚本程序的阶段. CommonJS 就是模块化的标准,nodejs 就是 CommonJS(模块化)的实现.Node 应用由模块组成,采用 CommonJS 模块规范. node.js 模块 一类是node提供的模块称为核心模块-->如http,url,fs等,可直接引入使用 二类是我们开发人员自己写的模块,称…
转自--http://www.cnblogs.com/pigtail/archive/2013/01/14/2859555.html 你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块.例如:(假设这是rocker.js文件) exports.name = function() { console.log('My name is Lemmy Kilmister'); }; 在另一个文件中你这样引用 var rocker = require('./rocker.js');…
如果模块是一个特定的类型就用Module.exports.如果模块是一个典型的"实例化对象"就用exports. exports.name = function() { console.log('My name is Lemmy Kilmister'); }; 在另一个文件引用 代码如下: var rocker = require('./rocker.js'); rocker.name(); 其实,Module.exports才是真正的接口,exports只不过是它的一个辅助工具. 最…
你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块接下来介绍创建过程,感兴趣的朋友可以参考下 你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块.例如:(假设这是rocker.js文件)  复制代码代码如下: exports.name = function() { console.log('My name is Lemmy Kilmister'); };  在另一个文件中你这样引用  复制代码代码如下: var rocker = require…
只要是在nodejs中写自己的文件模块就少不了会遇到module.exports和exports的使用,看别人的代码大多都会使用“module.exports=exports=<对象/函数等>”怪异的串联用法,一问原因,貌似都是云里雾里,如此写法更像是保守的防止性写法. 这种问题除了看源代码外,只能写点代码进行求证. 写了两个模块文件,provider.js产生任意类型的对象, customer.js返回并输出provider对象. 第一种情况: provider.js,直接在exports上…
require 用来加载代码,而 exports 和 module.exports 则用来导出代码.但很多新手可能会迷惑于 exports 和 module.exports 的区别,为了更好的理解 exports 和 module.exports 的关系,我们先来巩固下 js 的基础.示例: app.js var a = {name: 'nswbmw 1'}; var b = a; console.log(a); console.log(b); b.name = 'nswbmw 2'; cons…