npm


npm资源库

bower资源库

bower官方网站

包管理器Bower


nodejs grunt webpack

npm package.json grunt Gruntfile.js或Gruntfile.coffee bower bower.json composer composer.json

pm2

因为node.js 是单进程,进程被杀死后整个服务就跪了,
所以需要进程管理工具,但是pm2 远远不止这些。

PM2 是一个带有负载均衡功能的 Node 应用的进程管理器。 
当你要把你的独立代码利用全部的服务器上的所有 CPU,并保证进程永远都活着,0 秒的重载, 
PM2 是完美的。

npm install pm2 -g     # 命令行安装 pm2
pm2 start app.js -i 4  #后台运行pm2,启动4个app.js
                       # 也可以把'max' 参数传递给 start
                       # 正确的进程数目依赖于Cpu的核心数目

pm2 start npm -- run start  #相当于npm run start
pm2 start app.js --name my-api # 命名进程
pm2 list               # 显示所有进程状态
pm2 monit              # 监视所有进程
pm2 logs               #  显示所有进程日志
pm2 stop all           # 停止所有进程
pm2 restart all        # 重启所有进程
pm2 reload all         # 0秒停机重载进程 (用于 NETWORKED 进程)
pm2 stop 0             # 停止指定的进程
pm2 restart 0          # 重启指定的进程
pm2 startup            # 产生 init 脚本 保持进程活着
pm2 web                # 运行健壮的 computer API endpoint (http://localhost:9615)
pm2 delete 0           # 杀死指定的进程
pm2 delete all         # 杀死全部进程

pm2进程文件管理

pm2进程文件

项目设置:
pm2 init               #生成了一个 ecosystem.config.js
#vim ecosystem.config.js
module.exports = {
  apps: [{
    name: 'nuxt-app',
    script: './node_modules/nuxt/bin/nuxt.js',  // 不能用npm run start 的命令,会报错端口占用
    args: 'start',
    // Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
    instances: 2,             // 实例个数,也可以填 'max' 自动匹配服务器支持的最大实例数
    exec_mode: 'cluster',
    autorestart: true,
    watch: false,
    max_memory_restart: '1G', // 我的服务器是1g内存,当超过1g内存,会重启
    env: {
      NODE_ENV: 'development'
    },
    env_production: {
      NODE_ENV: 'production'
    }
  }]
};
pm2 start           #开启两个线程

npm命令

安装nodejs
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3.tar.gz
tar -zxvf node.tar.gz
cd node
./configure
make && make install


npm -v
npm update                  npm升级

npm install express -g      全局安装到/usr/local/node/lib/node_modules/npm
npm i npm -g                升级
npm list -g                 查看全局模块
npm list grunt              查看模块版本信息
npm uninstall express       卸载模块
npm update express          升级模块
npm search express          搜索模块

npm init                    创建模块
npm adduser                 增加用户
npm publish                 发布模块

node,npm卸载

rm /usr/bin/noe
rm /usr/bin/npm
rm -rf /usr/lib/node_modules
rm -rf ~/.npm
rm -rf ~/.node_gyp

使用淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org cnpm install express }}