使用npm帮助,看看npm有哪些命令可用
$> npm help
Usage: npm <command>
where <command> is one of:
access, adduser, bin, bugs, c, cache, completion, config,
ddp, dedupe, deprecate, dist-tag, docs, edit, explore, get,
help, help-search, i, init, install, install-test, it, link,
list, ln, login, logout, ls, outdated, owner, pack, ping,
prefix, prune, publish, rb, rebuild, repo, restart, root,
run, run-script, s, se, search, set, shrinkwrap, star,
stars, start, stop, t, tag, team, test, tst, un, uninstall,
unpublish, unstar, up, update, v, version, view, whoami
npm <cmd> -h quick help on <cmd>
npm -l display full usage info
npm help <term> search for help on <term>
npm help npm involved overview
说一下package.json文件
package.json
文件是用来管理项目本地npm
的下载包,用npm init
命令创建,有一些需要留意的地方:
-
项目的命名是有一定要求的,小写,不能有空格,可以用下划线或者连字符。
-
scripts
字段可以配置自定义的一些命令行语句,作用是简化命令行,而且统一命令行为npm run ...
的格式,自己自己配置一些语义化的命令,举个例子:"scripts": { "build": "webpack", "dev": "webpack-dev-server --inline --hot --quiet" },
这样配置后在命令行打npm run build
和打webpack
的效果是一样的,这个例子看起来打的命令变长了,但是语义化更强了一些,一看就知道是项目构建;第二条命令npm run dev
简化命令行的效果就很明显了。
- package.json里面还有两个比较重要的字段,即
dependencies
和devDependencies
。npm install <package> --save
会把安装的包写到dependencies
,表示的是正式环境的包;npm install <package_name> --save-dev
会把安装的包写到devDependencies
,表示的是测试环境的包。很多人知道的就仅限于此了,测试和正式安装的版本不同会怎么样?install的时候是装哪一个?包的版本号是怎么控制的?这些深入了解的人就不多了,下面来仔细说明一下:
下面解释一些NPM常用的命令:
npm install 安装模块
npm uninstall 卸载模块
npm update 更新模块
npm outdated 检查模块是否已经过时
npm ls 查看安装的模块
npm init 在项目中引导创建一个package.json文件
npm help 查看某条命令的详细帮助
npm root 查看包的安装路径
npm config 管理npm的配置路径
npm cache 管理模块的缓存
npm start 启动模块
npm stop 停止模块
npm restart 重新启动模块
npm test 测试模块
npm version 查看模块版本
npm view 查看模块的注册信息
npm adduser
npm publish 发布模块
npm access 在发布的包上设置访问级别
npm package.json的语法
npm run <command>用npm run来跑package.json里面script字段内的命令,可以直接打npm run查看有哪些命令
npm install 安装package.json文件中"dependencies" 和 "devDependencies"这两个配置项下面的包
npm install --production 只安装package.json文件中"dependencies"配置项下面的包
npm install --dev 只安装package.json文件中"devDependencies"配置项下面的包
spm install <module-name> -save 自动把模块和版本号添加到dependencies部分
spm install <module-name> -save-dev 自动把模块和版本号添加到devdependencies部分
npm prune 将会移除package.json中没有列举的node_modules的包,如果是生产环境中或者加--production,将会移除devDependencies里面的包,用于清理多余的包资源。