自定义模板(包),并且上传到npmjs.com:
1、
了解模块化的好处---解决全局变量名污染的问题(闭包并没有解决)
2、在node中如何根据CommonJS规范来定义模块
3、发布到npmjs.com
注意:我们上传到npmjs.com上面的自定义模块,必须遵循规范
规范如下:
使用模块: 通过require关键字导入进来
暴露模块: 通过module.exports = xxx 导出去给别人用
这里上传一个简单的计算器模块为例:(最好写一个readme.md文件,告诉别人如何使用)
1、先定义一个自定义计算器模块--lib-cals.js (在lib文件夹下建立一个js文件)
2、通过
module
.
exports
把我们需要暴露出去的成员暴露出去
const
add
=
(
x
,
y
)
=>
{
return
x+y
}
// 导出的就是一个函数
module
.
exports
=add
3、测试自己写的模块(上传的时候可以不用上传)
注意点:我们在测试自己写的模块的时候,也是通过require去导入,但是我们路径要写全
const
path=
require
(
'path'
)
const
add=
require
(
path
.
join
(
__dirname
,
'lib/calc.js'
))
console
.
log
(
add
(
1
,
2
));
注意点:导出其他都比较简单,但是导出对象,有三种写法
方式1:
module.exports={}
方式2:
module.exports.属性=值
module.exports=subStr(module.exports.add=add)
方式3
:【只有在导出对象的时候才能省略module】
exports
.
add=add
方法:
发布到npmjs.com上--项目根目录下
1、首先把我们项目的配置做完【完成package.json的配置】npm init
2、注意入口文件千万不能错 main ---lib/calc.js 写错别人加载不到
3、注册npmjs.js的账号
4、使用 npm adduser 在项目根目录下和npmjs建立关联(用户名,密码,邮箱)
5、输入npm publish
5、如果更改了源代码,再次发布,必须把版本号递增
上传之后就可以去网站里面看了: