Node 的使用

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

原文地址:https://www.cnblogs.com/tarena/p/8473157.html