×

[Using npm] npm 最佳实践

96
Air_cc
2016.10.17 10:58* 字数 424

根据这里整理所得

1. npm 基本信息

  • npm --version : npm 自己的版本号
  • npm version:node.js栈中各模块的版本
  • npm help NPM_CMD: 如npm help test

2. node 项目初始化

  • npm init 可加 npm init --yes 跳过询问使用默认选项创建 package.json
  • npm config set init.author.name YOU_NAME && npm config set init.author.email YOU_EMAIL 设置 package.json 中默认包开发者的信息

3. 查找第三方包

可通过 npms.io 来了解第三包的质量

4. 了解 npm 的包

  • npm home PACKAGE_NAME - 包主页
  • npm bugs PACKAGE_NAME - 包bug提交页
  • npm repo PACKAGE_NAME - 包仓库地址

5. 保存包依赖

  • npm install --save 生产环境依赖的包; npm install --save-dev 测试开发需要的包
  • npm congfig set save-prefix='~' 设置对包的版本要求,这里表示绝对等于

6. 锁定包依赖的版本

即使项目本身使用的是精确版本,但不能保证第三方包的所有依赖都是精确版本
使用 npm shrinkwarp 来锁定所有的依赖包的版本,会生成 npm-shrinkwrap.json 文件,当使用 npm install 是会根据该文件去下载包依赖

7. 检测包依赖是否过期

npm outdated 另外可通过 Greenkeeper来管理过期的包

8. 生产环境

  • npm install --production 单个项目中安装生产环境的包
  • NODE_ENV=production npm install 通过环境变量来全局设置

9. 项目安全

  • 注意 .npmrc 中是否包含敏感信息
  • publish 包的时候 npm 会根据 .gitignore.npmignore 中的配置来忽略文件

10. 临时包的使用

npm link PACKAGE_NAME 链接本地的包,使其能够在本项目中可以被全局 require 到

# in local package direction,create a symlink to the global folder
npm link

# in project direction, link package to the current node_modules 
npm link PACKAGE_NAME

# in project js file
var package_name = require('PAVKAGE_NAME')
Web note ad 1