原来 require
还可以通过 module.exports
的方式返回数据,而且数据类型是不限的,例如返回一个函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
可以看到:lib
返回输出的 minus
函数。
即在 require
一个模块时,module.exports
的优先级要高于 exports
,如果指定了 module.exports
,那么就会使用 module.exports
指定的对象,如果没有指定 module.exports
,就会使用 exports
对象。
npm
npm
相信大家都不陌生,那这里就只是简单介绍一下吧。
npm
是 Node.js 的包管理工具,安装 Node.js 的时候都会自带有 npm
的。而包则是别人写的 Node.js 模块,我们平时开发都会经常用到一些别人开发出来放到 Node.js 服务器上面的包。
npm
初始化:npm init
,初始化的时候一直回车就好,之后会生成一个 package.json
文件;或者执行命令 npm init -y
,这样就是生成一个默认的 package.json
文件,里面的属性和执行 npm init
一直回车是一样的。
package.json
文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 |
|
- 下载安装依赖包
<packageName>
:npm install <packageName>
;如果想要全局安装则添加-g
:npm install <packageName> -g
。如安装glob
包:npm install glob
- 卸载依赖包的命令是
npm uninstall <packageName>
。
比如安装 express
包,安装成功会生成一个 node-modules
文件夹,我们下载的包就放在这个文件里面:
如果使用 npm
安装依赖包的速度很慢,可以使用淘宝镜像 cnpm
来安装,镜像是指它把国外 npm
的包做一层复制然后映射到国内的服务器上面,这样不用山长水远去国外拉包,速度会快很多。
安装 cnpm
:
1 |
|
cnpm
的使用和 npm
类似:cnpm install <packageName>
。
那如果你觉得 cnpm
不够正宗,不想长期使用,但有些包下载又确实慢了,可以临时使用镜像,比如安装 express
:
1 |
|
--registry=
是指定下载地址的意思,例如一些公司可能有自己的依赖包服务器,那么可以通过将这个地址指向公司的服务器地址来更快的下载依赖包。
而 cnpm
本身其实是 npm
的一个别名,使用 cnpm
的时候会自动帮我们加上后面的参数 --registry=https://registry.npm.taobao.org
,然后通过镜像地址来下载依赖包。
另外,npm 使用遇到问题可以登录 官网 寻找解决办法:
总结
- Node.js 的模块规范就是 CommonJS 模块规范。
- CommonJS 模块规范通过
require()
加载模块,默认返回一个对象,可以通过设置exports
或module.exports
设置模块返回的数据。 - Node.js 的包管理工具是 npm,可通过使用镜像 cnpm 来提高下载速度。
更多编程相关知识,请访问:编程视频!!
以上就是浅谈Nodejs中的模块规范的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
node.js安装和配置环境以及部署项目的方法介绍(windows系统下)
更多相关阅读请进入《nodejs》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者