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

    互联网/前端 90次点击 · 1124天前 · 海棠花
WPS网盘里的文件如何同步到电脑上?Word如何去掉虚线? 海棠花

1条回答我要回复

    雨过天晴1124天前

      一. 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 是一个 第三方模块的托管网站,指的就是;
      NPM 是Node的包管理工具(全名叫做 Node package manager),在安装Node时候,就已经自动安装了 NPM 这个管理工具;
      安装和卸载全局包
      什么是全局的包:通过 npm install 包名 -g 方式安装的包,都安装到了全局;一般全局的安装目录是C:Users自己的用户文件夹AppDataRoamingnpm
      如何安装一个全局的包: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 服务器名称来切换下载包时候的服务器地址

    请先登录后,再回复