JavaScript经典工具库

https://github.com/sorrycc/awesome-javascript
https://www.cnblogs.com/fundebug/p/13_js_utilities_you_need.html

Underscore或者Lodash
Ramda
MathJS
Moment & date-fns
Sugar
Lazy
CollectJS
ChanceJS
ChartJS
Polished
Mout
Voca
Licia

常见命令

安装包

# 本地安装 ###
#  将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录
npm install express

# 全局安装
# 将安装包放在 /usr/local 下或者你 node 的安装目录
# 可以直接在命令行里使用
npm install express -g

# 查看依赖包(可以在不下载安装的情况下查看依赖包) ###
npm view express dependencies

卸载包

# 卸载包不更新package.json
npm uninstall lodash

# 卸载包更新package.json
# 要从package.json文件的依赖列表中移除,你需要使用--save标签:
npm uninstall --save lodash

查看包版本信息

# 查看npm服务器上所有的jquery版本列表
npm view jquery versions
# 查看jquery最新版本
npm view jquery version
# 查看jquery最新版本的详细信息
npm info jquery
# 查看本地安装的版本信息
npm ls jquery

升级所有包到最新版本

# 检查更新包
npm-check-updates 或者 ncu

# 升级package.json
ncu -u

# 安装包
npm install

目前支持以下几类依赖包环境管理

dependencies
devDependencies
peerDependencies
optionalDependencies
bundleDependencies

# 经测试每个包只能属于以下其中一个依赖环境里面:devDependencies、dependencies、peerDependencies、optionalDependencies、bundledDependencies

# 对应的命令解释如下
-P, --save-prod: Package will appear in your dependencies. This is the default unless -D or -O are present.
-D, --save-dev: Package will appear in your devDependencies.
-O, --save-optional: Package will appear in your optionalDependencies.
--no-save: Prevents saving to dependencies.
-E, --save-exact: Saved dependencies will be configured with an exact version rather than using npm's default semver range operator.
-B, --save-bundle: Saved dependencies will also be added to your bundleDependencies list.

如果你想使用哪种依赖管理,那么你可以将它放在package.json中对应的依赖对象中,比如:
  "devDependencies": {
    "fw2": "^0.3.2",
    "grunt": "^1.0.1",
    "webpack": "^3.6.0"
  },
  "dependencies": {
    "gulp": "^3.9.1",
    "hello-else": "^1.0.0"
  },
  "peerDependencies": { },
  "optionalDependencies": { },
  "bundledDependencies": []  

# 对应安装命令
# 一键安装package.json里的所有依赖文件
npm install
# 只安装package.json里的dependencies(运行依赖)文件
npm install --dependencies
# 只安装package.json里的devDependencies(开发依赖)文件
npm install --devDependencies
# 更新依赖到最新版本
npm install -g npm-check-updates

项目示例

创建测试目录

mkdir npmtest && cd npmtest

npm创建项目

# 其实就是生成package.json
npm init
# 或者静默初始化
npm init --yes

package name:		你的项目名字叫啥
version:			版本号
description:		对项目的描述
entry point:		项目的入口文件(一般你要用那个js文件作为node服务,就填写那个文件)
test command:		项目启动的时候要用什么命令来执行脚本文件(默认为node app.js)
git repository:		如果你要将项目上传到git中的话,那么就需要填写git的仓库地址(这里就不写地址了)
keywirds:			项目关键字(索引使用?)
author:				作者的名字(也就是你叫啥名字)
license:			发行项目需要的证书(这里也就自己玩玩,就不写了)

# 示例
{
  "name": "npmtest",
  "version": "1.0.0",
  "description": "npm测试",
  "main": "index.js",
  "scripts": {
    "test": "node app.js"
  },
  "author": "zaza",
  "license": "ISC"
}

# 编写app.js
echo "console.log('我已经成功运行了')" > app.js

# 运行scripts的test命令
npm test

# 可以增加自己的命令(各种参数命令都可以声明了),将示例的scripts改成
"scripts": {
	"test": "echo \"Error: no test specified\" && exit 1",
	"start": "node app.js"
},

# 执行测试
npm start
npm test

# 安装依赖包(--save参数将配置写入package.json)
npm install lodash --save

# 测试依赖包
vim app.js

var lodash = require('lodash');
var output = lodash.without([1, 2, 3], 1);
console.log(output);

# 测试 
npm start
# 如果没有正确安装则会报一下错误
module.js:340
    throw err;
          ^
Error: Cannot find module 'lodash'

参考