Node 使用
npm 常用命令
npm config list
查看node的配置环境(npm config list/ls
)
npm config list/ls -l
更详细
npm install xxx
安装模块
npm install xxx -g
将模块安装到全局环境中
npm i/install --save xxx
安装包信息将加入到dependencies
(生产阶段的依赖)
npm i/install --save-dev xxx
安装包信息将加入到devDependencies
(开发阶段的依赖),所以开发阶段一般使用它
npm i --save-exact xxx
精确安装包版本,package.json
里的依赖包的value是具体的版本号,前边没有符号
npm root
查看包的安装路径,及node_modules
的路径
npm ls
查看安装的模块及依赖
npm ls -g
查看全局安装的模块及依赖
npm uninstall xxx (-g)
卸载模块
npm cache clean
(旧版)清理缓存 或 (新版) npm cache verify
sudo npm install npm -g
//更新npm
npm config get prefix
找到npm目录的路径
sudo chown -R
whoami <directory>
修复权限到 npm's 默认目录
npm view modulename
查看模块的package.json信息
npm view moudleName dependencies
查看包的依赖关系
npm view moduleName repository.url
查看包的源文件地址
npm view moduleName engines
查看包所依赖的node版本
npm outdated
检测显示过时的包
npm update
更新包
npm uninstall
卸载包
npm init
在项目中引导创建一个package.json文件
向npm run xx
传入参数必须用--
表明
$npm run xx & npm run xxx
同时并行执行
$npm run xx && npm run xxx
前一个执行成功,再执行最后一个
{
"scripts":{
"build:dev":"xxxx",//npm run build:dev
"build:prod":"xxx"//npm run build:prod
}
}
如何用 npm 同时执行两条监听命令?
需要安装 concurrently: npm install -g concurrently
如下图修改package.json的 scripts:
"command1":"hahaha",
"command2":"xixixi",
"test":"concurrently "npm run command1" "npm run command2""
常用脚本示例
// 删除目录
"clean": "rimraf dist/*",
// 本地搭建一个 HTTP 服务
"serve": "http-server -p 9090 dist/",
// 打开浏览器
"open:dev": "opener http://localhost:9090",
// 实时刷新
"livereload": "live-reload --port 9091 dist/",
// 构建 HTML 文件
"build:html": "jade index.jade > dist/index.html",
// 只要 CSS 文件有变动,就重新执行构建
"watch:css": "watch 'npm run build:css' assets/styles/",
// 只要 HTML 文件有变动,就重新执行构建
"watch:html": "watch 'npm run build:html' assets/html",
// 部署到 Amazon S3
"deploy:prod": "s3-cli sync ./dist/ s3://example-com/prod-site/",
// 构建 favicon
"build:favicon": "node scripts/favicon.js",
linux环境下:
mkdir ~/npm-global
创建目录
npm config set prefix '~/npm-global'
设置切换node的路径
export PATH=~/npm-global/bin:$PATH
设置环境变量,然后 source ~/.profile
npm outdated
查看过期包
npm outdated -g --depth=0
查找过期包
npm update --dev --save -d
查看过期包
--dev
同时更新devDependencies内容--save
把更新情况保存到package.json-d
查看细节
npm update -g
更新所有全局包
npm uninstall lodash(<package>)
从 node_modules
目录删除包命令 npm uninstall <package>
npm uninstall --save lodash
去除package.json
依赖关系, 需要save
标签
npm uninstall -g <package>
卸载全局包命令
npm install -g <package>
安装全局包命令,如果有访问权限错误, 使用sudo修改权限: sudo npm install -g <package>
windows系统下npm 全局安装路径问题
安装了nodejs之后,npm的路径默认一直都是appData,表示很讨厌,于是尝试修改在安装目录(D盘空间很大啊)
安装目录:D:program files odejs
一、在nodejs下新建两个文件夹(和node_modules同级):
node_global和node_cache
二、cmd设置(引号必须要):
npm config set cache "D: odejs ode_cache"
npm config set prefix "D: odejs ode_global"
三、更改配置文件.npmrc(D:program files odejs ode_modules pm):
prefix=D:program files odejs ode_global cache=D:program files odejs ode_cache
cache = "E:\nodejs\node_cache"
prefix = "E:\nodejs\node_global"
如果不用的话,可以删除对应的key 即可:npm config delete prefix(key)
若出现类似这样的错误:Error: node-sass@4.5.0 postinstall: 'node scripts/build.js'
在.npmc添加sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
参考:https://segmentfault.com/a/1190000005921721
Webstorm 配置tslint,先安装tslint:npm install -g tslint typescript
四、测试是否成功:
成功啦~~~安装路径是自己刚刚设置的那个
ps:目前没有设置环境变量,以后有需要再补吧
tsconfig.json
有几个重要的属性需要解释一下:
target:编译之后生成的JavaScript文件需要遵循的标准。有三个候选项:es3、es5、es2015。
noImplicitAny:为false时,如果编译器无法根据变量的使用来判断类型时,将用any类型代替。为true时,将进行强类型检查,无法推断类型时,提示错误。
module:遵循的JavaScript模块规范。主要的候选项有:commonjs、AMD和es2015。为了后面与node.js保持一致,我们这里选用commonjs。
removeComments:编译生成的JavaScript文件是否移除注释。
sourceMap:编译时是否生成对应的source map文件。这个文件主要用于前端调试。当前端js文件被压缩引用后,出错时可借助同名的source map文件查找源文件中错误位置。
outDir:编译输出JavaScript文件存放的文件夹。
include、exclude:编译时需要包含/剔除的文件夹。
推荐使用淘宝的镜像cnpm
这里特别推荐使用淘宝的镜像cnpm,记得以后把npm的指令改为cnpm就可以了
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装全局Angular cli
cnpm install -g @angular/cli
若出现类似这样的Installing packages for tooling via npm
.这里如果你选这了淘宝的cnmp镜像,应该最好在安装完全局Angular cli后设置一下,保证正常下载工具
ng set --global packageManager = cnpm