使用PM2搭建在线vue.js开发环境(以守护进程方式热启动)

项目以vue.js+layUI的作为前端开发技术栈,需要有一个在线的环境供项目成员实时查看效果,总不能每次都webpack打包发布后才能看到效果吧!刚开始就简单使用npm run dev命令热启动,但是shell命令窗口退出后,热启动也就失效了!不能电脑一直都不关吧,后面考虑到用守护进程的方式运行热启动命令,就想到有一个好的进程管理工具,就是PM2。

1. pm2 是什么?

日常开发中需要启动一个node项目,需要用npm run …,,如果终端被关掉,程序也就自动停止,有时候几个项目一起跑起来,好几个终端开着,个人不太喜欢,有一神器可以解决:pm2。pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。它非常适合IaaS结构,但不要把它用于PaaS方案。

2.全局安装

npm install -g pm2

3.日常使用

由于node的百花齐放,启动一个网站的办法,也会有很多种。这里先以:npm run dev为例:

首先查看项目的package.json文件:

  "scripts": {"dev": "node build/dev-server.js --env=local","start": "node build/dev-server.js --env=local","build": "node build/build.js --env=publish","build-local": "node build/build.js"},

npm run dev 实际就是运行node脚本文件:dev-server.js,

可以用pm2启动:pm2 start build/dev-server.js,可以给这个进程取一个自己记得能理解的名字:pm2 start build/dev-server.js --name XXX,(XXX是你定义的名字)

如果你的node项目配置文件和以上代码不一样,,,莫急,pm2 也是有办法可以启动的(个人觉得这是一个万能的启动的方法):

pm2 start npm -- run XXX

用她替代:npm run dev,就可以写成:pm2 start npm -- run dev,项目启动:

虽然项目启动了,但是名字并不是我想要的(我需要个自己能记得住的名字,并且是一个项目一个专属name),这时候可以用:

pm2 start npm --watch --name webpack-agent -- run dev

OK pm2的日常还有些常用指令,如:

查看所用已启动项目:

pm2 list

重启:

pm2 restart XXX(项目名称)

停止:

pm2 stop XXX(项目名称)

删除

pm2 delete XXX(项目名称)

 

如果不记得了,直接在控制台输入:pm2,控制台会给出日常指令,并且会对这些指令给出对应说明:

 

 本文转自https://www.cnblogs.com/wangrongxiang/p/7909885.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序工具类

wechat-common-sdk ? 场景:目前工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。 我…

zabbix实现mysql数据库的监控

先来介绍zabbix中几个常用的术语: 主机(host): 要监控的网络设备,可由ip或DNS名称指定。 主机组(host group): 主机的逻辑容器,可以包含主机和模板&#xff…

VSCode配合eslint进行JavaScript质量检查

写在开始前:如有不准确的地方希望大家提出,文章可以改知识不能错。 创建一个项目 这里已node项目为例 npm init 根据提示填写相关信息 安装eslint npm install eslint --save也可以全局安装 npm install eslint -g初始化 eslint文件 eslint --init执行命…

未找到导入的项目,请确认 Import 声明中的路径正确

VS2017打开以前vs版本开发的项目 <Import Project"$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project"$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets" /> 修改V12…

修改Jupyter的工作空间

修改Jupyter的工作空间 1、安装Jupyter Notebook 刚安装完并配置好Sublime Text 3后被学长推荐使用Jupyter notebook&#xff0c;于是就想着看看试试有没有他说的那么好。 安装&#xff1a;命令行直接pip install jupyter(前提是先安装好了python和pip) 2、安装完后困惑 这么大…

bzoj [Usaco2009 Hol]Cattle Bruisers 杀手游戏

Description Input 第1行输入N&#xff0c;R&#xff0c;BX&#xff0c;BY, BVX&#xff0c;BVY&#xff0c;之后N行每行输入四个整数Xi&#xff0c;Yi&#xff0c;VXi&#xff0c;VYi&#xff0e; Output 一个整数&#xff0c;表示在逃脱过程中&#xff0c;某一个时刻最多有这…

Visual Studio Code 使用 ESLint 增强代码风格检查 - gyzhao - 博客园

前言 在团队协作开发中&#xff0c;为了统一代码风格&#xff0c;避免一些低级错误&#xff0c;应该设有团队成员统一遵守的编码规范。很多语言都提供了Lint工具来实现这样的功能&#xff0c;JavaScript也有类似的工具&#xff1a;ESLint。除了可以集成到构建工具中(如&#x…

CS 325 HW

代做CS 325作业、代写C, C/Python编程设计作业、代做Python/c实验作业CS 325 – HW 51. (6 points) Consider an undirected graph G(V,E) with nonnegative edge weights w(u,v)0. Supposethat you have computed a minimum spanning tree G, and that you have also computed…

express下使用ES6 - dtdxrk - 博客园

express下使用ES6 1 2 3 4 5 6 7 8 9 //环境切换配置 package.json scripts:{ "service": "NODE_ENVproduction PORT3000 npm start" } //node js判断 var app express(); app.get(env) production 原文地址&#xff1a;https://segmentfault.com/a…

java中的内部类详解

https://www.cnblogs.com/dolphin0520/p/3811445.html https://www.cnblogs.com/chenssy/p/3388487.html转载于:https://www.cnblogs.com/codeLei/p/9934195.html

eclipse下使用git插件上传代码至github

eclipse下使用git插件上传代码至github 1.eclipse下安装git 正常情况下&#xff0c;eclipse 是自带 git 插件的&#xff0c;那么即可跳至步骤1的最后一小步&#xff0c;配置 git 。 如果十分悲剧&#xff0c;你的 eclipse 中见不到 git 的身影&#xff0c;那么也没关系&#…

VS(C++)配置Halcon(一次配置,永久使用)

【说明】只需配置一次&#xff0c;以后新项目无需再次配置。 本教程是64位版本&#xff0c;32位可参考本教程。VS与Halcon无论哪个版本&#xff0c;都可参考本教程。 【步骤】以VS2015Halcon18.11为例 1、新建一个C|Win32控制台应用程序项目 2、视图|其他窗口|属性管理器 在 De…

(转)msys2使用教程

一、安装 官方下载地址 http://www.msys2.org/ 指定好安装路径&#xff08;一般D根目录即可&#xff09;&#xff0c;一路下一步就好。 二、配置国内镜像、设置窗体修改颜色 使用[清华大学开源软件镜像站]中的地址&#xff0c;修改\etc\pacman.d目录下的三个文件。 配置教程 ht…

简单使用Git和Github来管理自己的代码和读书笔记

简单使用Git和Github来管理自己的代码和读书笔记 以前不知道使用代码管理工具&#xff0c;最后写的一些东西都没有了&#xff0c;由于硬盘坏了或者不小心格式化了之类的&#xff0c;后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少&#xff0c;到哪里只要有网就可…

android 资源

在进行APP开发的过程当中&#xff0c;会用到许多资源&#xff0c;比如&#xff1a;图片&#xff0c;字符串等。现对android资源知识进行简单记录。 具体的详细信息及用法&#xff0c;点击查看官方文档 分类 一般android资源分为可直接访问的系统资源和不可直接访问的原生资源 r…

virtualbox 采用 NAT 还是 BRIDGE

正如标题所言&#xff0c;其实这两个都可以让虚拟机上网&#xff0c;但是还是有些差别的。 选择NAT的话&#xff0c; 虚拟机之间无法PING通 虚拟机可以PING通主机 主机无法PING通虚拟机 这是因为虚拟机不能在网络里拥有自己的IP&#xff0c;它是借助主机才能上网。 选择桥接的话…

vue 集成html5 plus - 懒懒de尐彪 - 博客园

首先要安装一个包 vue-html5plus npm i vue-html5plus -S 然后配置这个文件 在main.js添加一串代码 var onPlusReady function (callback, context this) { if (window.plus) { callback.call(context) } else { document.addEventListener(plusready, callback.bind(cont…

ssh整合学习(1)

Hibernate框架 1 hibernate核心配置文件 &#xff08;0&#xff09;orm思想 -对象关系映射 &#xff08;1&#xff09;数据库信息 &#xff08;2&#xff09;hibernate信息 &#xff08;3&#xff09;映射配置 &#xff08;4&#xff09;hibernate核心配置文件 -如果单纯使用hi…

MongoDB在不同主机间复制数据库和集合的教程_MongoDB_脚本之家

MongoDB在不同主机间复制数据库和集合的教程 更新时间&#xff1a;2016年07月04日 15:49:51 作者&#xff1a;lucifercn MongoDB自带了clone一族JavaScript函数来进行数据的复制,这里我们总结了MongoDB在不同主机间复制数据库和集合的教程,列举出了一些主从复制操作中常用…

2018-2019-2 网络对抗技术 20165305 Exp6 信息搜集与漏洞扫描

1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法。 2.实践内容 &#xff08;1&#xff09;各种搜索技巧的应用 &#xff08;2&#xff09;DNS IP注册信息的查询 &#xff08;3&#xff09;基本的扫描技术&#xff1a;主机发现、端口扫描、OS及服务版本探测、具体服务…