1. package 包

CommonJS的包规范允许我们将一组相关的模块组合到一起,形成一组完整的工具。CommonJS的包规范由 包结构 和 包描述文件 两个部分组成。

1.1 包结构

包实际上就是一个压缩文件,解压以后还原为目录。符合规范的目录,应该包含如下文件。

  • package.json   描述文件,必需
  • bin   文件夹,内存放可执行二进制文件,一般在工具包中存在,非必需
  • lib   文件夹,内存放js代码,非必需
  • doc   文件夹,内存放文档,非必需
  • test  文件夹,供单元测试,非必需

1.2 包描述文件

包描述文件用于表达非代码相关的信息,它是一个JSON格式的文件 – package.json,位于包的根目录下,是包的重要组成部分。

package.json 的属性主要有:

  • name - 包名。
  • version - 包的版本号。
  • description - 包的描述。
  • homepage - 包的官网 url 。
  • author - 包的作者姓名。
  • contributors - 包的其他贡献者姓名。
  • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
  • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
  • main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
  • keywords - 关键字

2. NPM(Node Package Manager)

CommonJS包规范是理论,NPM是其中一种实践。对于Node而言,NPM帮助其完成了第三方模块的发布、安装和依赖等。借助NPM,Node与第三方模块之间形成了很好的一个生态系统。

node.js安装时会自动下载npm包,该包结构如下:

2.1 NPM常用指令

npm -v               #查看npm的版本
npm version            #查看所有模块的版本
npm init              #初始化项目(创建package.json)
npm i/install 包名        #安装指定的包
npm i/install 包名 --save    #安装指定的包并添加依赖
npm i/install 包名 -g    #全局安装(一般都是一些工具)
npm i/install          #安装当前项目所依赖的包
npm s/search 包名        #搜索包
npm r/remove 包名        #删除一个包

2.2 NPM镜像选择

由于npm的镜像源是在国外,因此安装过程中下载可能比较慢或者下载失败,可以写选择连接 淘宝NPM镜像。方法如下:

2.2.1 临时使用

npm --registry https://registry.npm.taobao.org install express

2.2.2 持久使用

npm config set registry https://registry.npm.taobao.org
npm install express

2.2.3 保留npm,通过cnpm使用

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install express

最新文章

  1. mac php环境启动
  2. C指针(二)
  3. 记一次项目中的css样式复用
  4. android加载大量图片内存溢出的三种方法
  5. ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作
  6. FineUI第三天----WebConfig的配置
  7. MySQL Replication浅析
  8. Struts2运行流程分析
  9. maven3.1安装及配置
  10. Linux运行C#程序
  11. C plus plus primer plus
  12. android xml解析 sax
  13. server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh
  14. 哪些类继承了Collection接口
  15. HTML学习笔记Day10
  16. Java实现带logo的二维码
  17. 【BZOJ3817/UOJ42】Sum(类欧)
  18. spring boot(十):定时任务
  19. OSLab多进程
  20. python 微信企业号

热门文章

  1. JavaScript学习笔记——错误处理
  2. Android -- AudioPlayer
  3. 最新自然语言处理(NLP)四步流程:Embed->Encode->Attend->Predict
  4. centos6默认python2.6升级2.7 卸载python2.6升级2.7
  5. 内建DNS服务器--BIND
  6. ArcMap中条件语句的bug
  7. LintCode: Fizz Buzz
  8. Mina.Net实现的UDP协议消息收发Demo
  9. 008-Go 关于字符串拼接
  10. Linux内核配置:定制配置选项