node.js相关的一些名词解释
一. Common.js模块规范
node.js实现了Common.js模块规范化
1. 什么是 CommonJS 规范?
CommonJS 是为了实现 Javascript 的模块化,而制定的一套规范;
2. 为什么 Javascript 需要模块化?
浏览器中的Javascript有没有实现模块化?(在一个JS文件中,能不能引用另外JS文件中的方法)
有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。
3. 如何实现 Javascript 的模块化?
为了统一大家编写模块时候的规则,方便各模块之间的依赖和调用,于是 CommonJS 规范就应运而生了。
4. 那么,CommonJS 模块化规范,到底是个什么东西??
定义了什么是模块?
一个JS模块中,如何引入其它的JS模块?
一个JS模块中,如何向外暴露一些成员,供其它模块调用;
如果没有类似于 CommonJS 的规范,行不行?
只有大家遵守同样的规范,才能够协作开发,方便别人,同时也方便自己;
二. 包
英文名叫做
Packages
,包是在模块基础上更深一步的抽象,目的是:方便分发推广基于 CommonJS 规范实现的 应用程序 或 类库;包可以看作是 模块、代码 和 其它资源 组合起来形成的 独立作用域;
符合规范的包结构
包都要以一个单独的目录而存在;
package.json
必须在包的顶层目录下;package.json
文件必须符合 JSON 格式,并且必须包含如下三个属性:name
(包的名字),version
, (包的版本号),main
, (包入口文件)javaScript代码应该在lib目录下;
文档应该在doc目录下;
单元测试应该在test目录下;
Node.js对包要求并没有那么严格,只要顶层目录下有
package.json
,并符合基本规范即可;
包描述文件package.json的一些常用项
name:包的名称,必须是唯一description:包的简要说明
version:符合语义化版本识别规范的版本字符串
keywords:关键字数据,通常用于搜索
maintainers:维护者数组,每个元素要包含name、email、web等
contributors:贡献者数组,格式与maintainers相同。包的作者应该是贡献者数据的第一个元素
bugs:提交bug的地址,可以是网址或者电子邮件地址
licenses:许可证数组,每个元素要包含type和url字段
repositories:仓库托管地址数组,每个元素要包含type、url和path字段
dependencies:包的依赖,一个关联数组,由包名称和版本号组成。
devDependencies:开发依赖项,表示一个包在开发期间用到的依赖项
三. npm
npm的两层含义NPM 是一个 第三方模块的托管网站,指的就是
https://www.npmjs.com/
;NPM 是Node的包管理工具(全名叫做 Node package manager),在安装Node时候,就已经自动安装了 NPM 这个管理工具;
安装和卸载全局包
什么是全局的包:通过
npm install 包名 -g
方式安装的包,都安装到了全局;一般全局的安装目录是C:\Users\自己的用户文件夹\AppData\Roaming\npm
如何安装一个全局的包:
npm install i5ting_toc -g
, 注意:这里的-g
表示全局安装包的意思i5ting_toc为包名;注意:一般,只有一些工具,才有全局安装的必要性;
如果要全局卸载某个包,比如要卸载
i5ting_toc
了,直接运行npm uninstall i5ting_toc -g
就可以全局卸载包了!
安装和卸载本地包
什么是本地的包:跟着项目安装的包,叫做本地包;
如果拿到一个空项目,必须先初始化一个
package.json
的配置文件,npm init
或者npm init -y
运行
npm i 包名 --save
去安装指定的包,本地安装的包,都安装到了node_modules
的目录下如果用的是npm 5.x的版本,可以不指定
--save
命令,如果用的是 npm 3.x 的版本,则需要手动指定--save
, 同时,--save
有缩写形式,是:-S
package-lock.json
文件中记录了曾经装过的包的下载地址,方便下次直接下载包;
其它常用命令
--save-dev
它的缩写是-D
注意:
dependencies
节点,表示项目上线部署时候需要的依赖项;devDependencies
节点,表示项目在开发阶段需要的依赖项,但是当项目要部署上线了,devDependencies
节点中的包,就不再需要了!注意:当使用
npm i
快速装包的时候,npm会检查package.json
文件中,所有的依赖项,然后都为我们安装到项目中--production
表示只安装dependencies
节点下,记录的包,不安装devDependencies
节点下的包;当项目要上线了,才会使用--production
命令
解决 npm 下载慢问题
默认,NPM在下载包的时候,连接的是国外的服务器,所以,有时候如果网速不是特别好,可能下载不下来包;此时,可以安装一个工具,叫做
nrm
,里面记录了好多下载NPM包的服务器地址,可以让我们方便的切换下载包时候请求的服务器;运行
npm i nrm -g
(注意:只要是工具,一般都是全局 -g 安装)当装完 nrm 之后,可以运行
nrm ls
查看所有可用的服务器列表可使用
nrm use 服务器名称
来切换下载包时候的服务器地址
阅读更多
- 与JavaWeb开发相关的一些名词解释
- node.js中的一些名词的理解
- 一些常用的框架相关名词解释与说明
- 一些与风电机组有关的相关的名词解释
- [转载]关于Clusters的一些相关知识和名词解释
- IT 互联网一些相关名词的解释
- ERP和SAP的一些名词解释
- 一些HTML5的东西(JS相关)
- 国际化编程中Locale相关概念的一些解释
- 由于要开发新的项目,node.js写下一些问题帮助自己记忆,也希望能帮助到别人
- 用node.js制作DNS解释网站
- 服务器相关名词解释
- 总结Node.js中的一些错误类型
- 最近两个月所写的一些JS相关插件
- 第1章-安装Node.js及相关要点-1.8.调试Node.js程序
- 浅析Node.js中使用依赖注入的相关问题及解决方法
- 深入了解Node.js中的一些特性
- JS开发一些名词
- 计算机相关名词解释
- 视频采集相关的名词解释