Node项目需要注意的

上传

NPM的第三方的包过大时

将node_modules文件夹,添加到.gitgnore的忽略文件中

只需要创建一个package.json
在项目文件夹下执行

1
npm init -y

自动将依赖的第三方包记录在package.json中

注意:执行该命令时项目不能有中文和空格

下载

git clone一个项目后,

需要执行该项目先前执行依赖包的下载操作

1
2
npm i
#npm install

卸载

1
npm uninstall 指定的包名

需要了解

包的项目上线之后如果不会用到,将包安装时的指令添加选项-D

例如安装webpack

1
npm i webpack -D 

该包就会放入开发阶段的结点中

devDependencies(开发依赖包)

如果上线和开发都需要使用

默认的安装包的方式就好

默认的结点

Dependencies(核心依赖包)

第三方包的使用具体查看www.npmjs.com查阅文档

当然也可以直接去寻找REAMD.md文档

下包速度的提升

更换镜像源

  • linux 下在家目录下的.npmrc文件添加这一行
1
registry=https://registry.npmmirror.com
  • windows

    执行这一条指令

1
npm install -g cnpm --registry=https://registry.npmmirror.com

通过指令查看当前配置

1
npm config list

你问为什么不用淘宝镜像源?具体请访问https://npmmirror.com/

简单的自定义包的开发

一个项目文件夹

package.json 包的信息

index.js:包的主体

README.md: 相关功能介绍说明文档

当然package.json可以在写好主体的所有部分最后在使用命令生成

1
npm init -y

比如自定义一个简单的第三方包作为例子

功能:转义HTML字符,防止简单的XXS攻击.再重新还原返回

主体文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function htmlEscape(htmlstr){
return htmlstr.replace(/<|>|"|&/g,(match) =>{
switch (match){
case '<':
return '&it;';
case '>':
return '&gt;';
case '"':
return '&quot;';
case "&":
return '&amp;';
}
})
}

function htmlUnEscape(str){
return str.replace(/&it;|&gt;|&quot;|&amp;/g,(match) =>{
switch (match){
case '&it;':
return '<';
case '&gt;':
return '>';
case '&quot;':
return '"';
case "&amp;":
return '&;';
}
})
}



module.exports = {
htmlEscape,
}

保存后在该项目文件夹执行npm包初始化

1
npm init -y

得到的package.json内容修改如下

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"name": "htmlescape",
"version": "1.0.0",
"description": "转义HTML字符,防止XXS攻击.再重新还原返回",
"main": "htmlEscape.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": ["html","escape"],
"author": "icrad",
"license": "ISC"
}

再写个使用介绍文档就完成一个简单的包