Node.js 模块化的

一、自定义模块的要点

  1. 不要用特殊的文件名

  • 一般会用模块名给它命名。类比于核心模块,例如,你的模块叫myModule,则这个js文件最好叫myModule.js

  • 不要与核心模块的名字重复了。就像我们定义变量不要与核心关键字重名,你自己定义的模块也不要叫fs.js,因为nodejs有一个核心模块就叫fs.js

  1. 导入模块的路径是相对路径

  2. 导入之后,记得console.log

  3. 记得导出

  • module.exports 是固定写法,一般放在文件的最末尾,也只用一次。

  • module.exports表示当前模块要暴露给其它模块的功能。

    • 它可以导出对象,数组,函数等等类型。为了方便组织代码,导出对象的情况比较多。

    • 不必要导出所有函数,对象,数组等。那些没有导出的部分就相当于这个模块的内部变量了。 

拓展:导出模块的两种方式

在阅读其它人的代码时,可能会遇到这两种不同的写法。所以我们还是有必要了解一下的。

导出模块有两种方式

参考https://nodejs.org/api/modules.html#modules_exports_shortcut

  • exports

  • module.exports

// 定义方法,常量
let myPI = 3.14
let add = (a,b) => a + b;

// 导出,两种方法任意都可以
// 方法一:
exports.myPI = myPI
exports.add = add

// 方法二:
module.exports.myPI = myPI
module.exports.add = add

// 方法二(变形)
module.exports  = {
    myPI,
    add
}

两个对象的关系

初始exports和module.exports是指向同一块内存区域,其内容都是一个空对象

exports是module.exports的别名,即:

exports === module.exports // 输出是 true

所以下面两种写法的效果是一样的:

 //1 mymodule.js
 exports.f = function(){ }
 exports.pi = 3.1415926
//2 mymodule.js
 module.exports.f = function(){ }
 module.exports.pi = 3.1415926
  • 在定义模块时:

    如果直接给exports对象赋值(例如:exports={a:1,b:2}),此时,exports就不会再指向module.exports,而转而指向这个新对象,此时,exports与module.exports不是同一个对象。

在引入某模块时:以该模块代码中module.exports指向的内容为准。

 

 

 结论

在导出模块过程中,建议只用一种方式(建议直接使用module.exports)

npm 常用命令

  •  查看
npm -v  			    // 查看npm 版本
where node   			// 查看node的安装目录
where npm   			// 查看npm的安装目录
npm root -g 			// 查看全局包的安装目录
npm list -g --depth 0   // 查看全局安装过的包
  •  升级 npm
npm install npm --global  // 简写成 -g
npm install npm -g
  •  初始化 package.json  
npm init -y // 或者是npm init --yes
  •  安装第三方包
// 安装当前目录下package.json中列出的所有的包
// 如果之前安装了包,又在package.json中手动删除依赖
// 它相当是删除包
npm install

// 全局安装
npm install 包名 -g  // npm install -g 包名 

// 本地安装,没有指定版本,默认安装最新的版本
npm install 包名

// 一次安装多个包,空格隔开
npm install 包名1 包名2 包名3

// 安装指定版本的包
npm install 包名@版本号

// 简写。把install简写成 i
npm i 包名
  • 删除已安装的包  
npm uninstall 本地安装的包名
npm uninstall 全局安装的包名 -g

  • 设置npm的register

        如果你不想用 nrm ,下面这个原生的命令也可以切换镜像源(从哪里下载包)。

npm config set registry https://registry.npm.taobao.org

## 所有npm i 包 都会从taobao的镜像去下载。
## 配置后可通过下面方式来验证是否成功
npm config get registry 

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值