您的位置:首页 > Web前端 > Node.js

node.js相关的一些名词解释

2018-07-12 15:58 465 查看

一. Common.js模块规范

 node.js实现了Common.js模块规范化

 1. 什么是 CommonJS 规范?
     CommonJS 是为了实现 Javascript 的模块化,而制定的一套规范;
2. 为什么 Javascript 需要模块化?
    浏览器中的Javascript有没有实现模块化?(在一个JS文件中,能不能引用另外JS文件中的方法)
    有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。
3. 如何实现 Javascript 的模块化?
    为了统一大家编写模块时候的规则,方便各模块之间的依赖和调用,于是 CommonJS 规范就应运而生了。
4. 那么,CommonJS 模块化规范,到底是个什么东西??
    定义了什么是模块?
    一个JS模块中,如何引入其它的JS模块?
    一个JS模块中,如何向外暴露一些成员,供其它模块调用;
    如果没有类似于 CommonJS 的规范,行不行?
    只有大家遵守同样的规范,才能够协作开发,方便别人,同时也方便自己;

二. 包

  1. 英文名叫做

    Packages
    ,包是在模块基础上更深一步的抽象,目的是:方便分发推广基于 CommonJS 规范实现的 应用程序 或 类库;

  2. 包可以看作是 模块、代码 和 其它资源 组合起来形成的 独立作用域;

 符合规范的包结构

  1. 包都要以一个单独的目录而存在

  2. package.json
    必须在包的顶层目录下

  3. package.json
    文件必须符合 JSON 格式,并且必须包含如下三个属性:
    name
    (包的名字),  
    version
    , (包的版本号),
    main
    , (包入口文件)

  4. javaScript代码应该在lib目录下;

  5. 文档应该在doc目录下;

  6. 单元测试应该在test目录下;

  7. 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的两层含义
  1. NPM 是一个 第三方模块的托管网站,指的就是

    https://www.npmjs.com/

  2. NPM 是Node的包管理工具(全名叫做 Node package manager),在安装Node时候,就已经自动安装了 NPM 这个管理工具;

安装和卸载全局包

  1. 什么是全局的包:通过

    npm install  包名  -g
    方式安装的包,都安装到了全局;一般全局的安装目录是
    C:\Users\自己的用户文件夹\AppData\Roaming\npm

  2. 如何安装一个全局的包:

    npm install i5ting_toc -g
    , 注意:这里的
    -g
    表示全局安装包的意思i5ting_toc为包名;

  3. 注意:一般,只有一些工具,才有全局安装的必要性;

  4. 如果要全局卸载某个包,比如要卸载

    i5ting_toc
    了,直接运行
    npm uninstall i5ting_toc -g
    就可以全局卸载包了!

安装和卸载本地包

  1. 什么是本地的包:跟着项目安装的包,叫做本地包;

  2. 如果拿到一个空项目,必须先初始化一个

    package.json
    的配置文件,
    npm init
    或者
    npm init -y

  3. 运行

    npm i 包名 --save
    去安装指定的包,本地安装的包,都安装到了
    node_modules
    的目录下

  4. 如果用的是npm 5.x的版本,可以不指定

    --save
    命令,如果用的是 npm 3.x 的版本,则需要手动指定
    --save
    , 同时,
    --save
    有缩写形式,是:
    -S

  5. package-lock.json
    文件中记录了曾经装过的包的下载地址,方便下次直接下载包;

其它常用命令

  1. --save-dev
    它的缩写是
    -D

  2. 注意:

    dependencies
    节点,表示项目上线部署时候需要的依赖项;
    devDependencies
    节点,表示项目在开发阶段需要的依赖项,但是当项目要部署上线了,
    devDependencies
    节点中的包,就不再需要了!

  3. 注意:当使用

    npm i
    快速装包的时候,npm会检查
    package.json
    文件中,所有的依赖项,然后都为我们安装到项目中

  4. --production
    表示只安装
    dependencies
    节点下,记录的包,不安装
    devDependencies
    节点下的包;当项目要上线了,才会使用
    --production
    命令

解决 npm 下载慢问题

  1. 默认,NPM在下载包的时候,连接的是国外的服务器,所以,有时候如果网速不是特别好,可能下载不下来包;此时,可以安装一个工具,叫做

    nrm
    ,里面记录了好多下载NPM包的服务器地址,可以让我们方便的切换下载包时候请求的服务器;

  2. 运行

    npm i nrm -g
    (注意:只要是工具,一般都是全局 -g 安装)

  3. 当装完 nrm 之后,可以运行

    nrm ls
    查看所有可用的服务器列表

  4. 可使用

    nrm use 服务器名称
    来切换下载包时候的服务器地址




阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: