Node.js相关组件介绍

123 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Node.js相关组件介绍,包括:package.json、NVM、NPM、PM2、Express、Vue.js、Webpack、Babel

nodejs.org

package.json

  1. 作为一个描述文件,描述了你的项目依赖哪些包
  2. 允许我们使用 “语义化版本规则”(后面介绍)指明你项目依赖包的版本
  3. 让你的构建更好地与其他开发者分享,便于重复使用

指定依赖的包

  1. dependencies:在生产环境中需要用到的依赖
  2. devDependencies:在开发、测试环境中用到的依赖

语义化版本规则

  1. major:主要版本,表示有了一个不可以和上个版本兼容的大更改。
  2. minor:次要版本,表示有了增加了新的功能,并且可以向后兼容。
  3. patch:修订版本,表示修复了bug,并且可以向后兼容。
  • 如果只打算接受补丁版本的更新(也就是最后一位的改变),就可以这么写:
    • 1.0
    • 1.0.x
    • ~1.0.4
  • 如果接受小版本的更新(第二位的改变),就可以这么写:
    • 1
    • 1.x
    • ^1.0.4
  • 如果可以接受大版本的更新(自然接受小版本和补丁版本的改变),就可以这么写:
    • *
    • x

NVM(Node Version Manager)

nodejs版本管理工具.nvm是一个可以让你在同一台机器上安装和切换不同版本node的工具

github.com/creationix/…

$ nvm ls-remote    # 显示远程所有可以安装的nodejs版本
$ nvm ls-remote --lts    # 查看长期支持的版本
$ nvm ls    # 查看已经安装的版本
$ nvm current    # 查看当前使用的node版本
$ nvm use [--silent] <version>    # 使用已经安装的版本  切换版本
$ nvm install [-s] <version>    # 安装指定的版本,如果不存在.nvmrc,就从指定的资源下载安装
$ nvm uninstall <version>    # 卸载指定的版本
$ nvm install-latest-npm    # 安装罪行的npm
$ nvm reinstall-packages <version>    # 重新安装指定的版本
$ nvm cache dir    # 显示nvm的cache
$ nvm cache clear    # 清空nvm的cache

NPM (Node Package Manager)

NPM的全称是Node Package Manager,是一个包管理器,它让 JavaScript 开发者分享、复用代码更方便

# 创建package.json文件
$ npm init

# 更新npm -g 代表全局安装
$ npm install npm@latest -g

# 卸载全局 package
$ npm uninstall -g <package>

# 其他命令
$ npm -v
$ npm help install
$ npm config get registry
$ npm install -g webpack gulp --registry=http://registry.npm.taobao.org
$ npm install cnpm -g --registry=https://registry.npm.taobao.org
$ npm run
  1. 本地安装:如果你只是想在当前项目里用 require() 加载使用,那你可以安装到本地
  2. 全局安装:如果你想要在命令行里直接使用,比如 grunt CLI,就需要安装到全局了

npm install 默认会安装 package.json 中 dependencies 和 devDependencies 里的所有模块,如果想只安装 dependencies 中的内容,可以使用 --production 字段

# 参数
# -g:全局安装
# --save:将这个包名及对应的版本添加到package.json的dependencies
# --save -dev:将这个包名及对应的版本添加到package.json的devDependencies
# --production:只安装dependencies 中的内容
$ npm install <package-name>

CNPM

因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常

# 安装阿里云仓库地址
npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm

PM2(Process Manager 2)

PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

# 安装
$ npm install -g pm2
$ pm2 update

# 使用
$ pm2 start ecosystem.config.js    # 启动
$ pm2 stop <app-name>    # 停止
$ pm2 delete ecosystem.config.js    # 删除
$ pm2 show <app-name>    # 显示app详细信息
$ pm2 logs <app-name> [--lines 1000]    # 显示日志
$ pm2 monit    # CPU和Memory监控
$ pm2 list

Express

基于 Node.js 平台,快速、开放、极简的 web 开发框架。

# 安装
$ npm install express --save
# 
$ 
# 创建一个命名为 myapp 的应用
$ express myapp
# 安装所有依赖包
$ cd myapp 
$ npm install
# 启动应用
$ DEBUG=myapp npm start

express-generator(Express 应用生成器)

  1. 执行命令$ npm install express-generator -g
  2. 然后在浏览器中打开 http://localhost:3000/ 网址就可以看到这个应用了
  3. 通过 Express 应用生成器创建的应用一般都有如下目录结构:
.
├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

7 directories, 9 files

Vue.js

JavaScript MVVM(Model-View-ViewModel)库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我们能够快速地上手并使用Vue.js。

unpkg.com/vue

Webpack

webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler)。当webpack处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle。

www.webpackjs.com

$ npm install webpack -g

Web前端模块化规范 AMD CMD UMD

  1. 规范 --> 实现与说明
  2. CommonJs --> Node.js采用这个规范
  3. AMD(Asynchronous Module Definition)--> RequireJS遵循AMD规范
  4. CMD(Common Module Definition) --> SeaJS
  5. UMD(Universal Module Definition) --> UMD是AMD和CommonJS的糅合

Babel

Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行

配置文件 .babelrc

{
  "presets": [],
  "plugins": []
}