pushstate-server

内部的原理是通过 connect 服务器,开启一个端口,将 dist/index.html 文件作为静态模板输出

这种方式可以将本地的项目打包成静态文件,以服务的方式提供出去, 方便后端人员调用, 而自己也不影响dev的开发

安装

npm install pushstate-server --save

基本使用:

1)
在你的vue 项目的根目录下 创建一个server.js文件,下面是其文件内容 var server = require('pushstate-server'); server.start({
port: 3000, // 指定的端口
directory: './dist' // 一般会使用打包的目录
}); console.log('服务器启动发了) 2) 打开终端运行命令
node server.js 这个时候就可以把3000的端口提供给同事了

参数说明:

  • port:需要启动的端口号。

  • directory:index.html 所在的目录路径,这里直接写相对路径就好。

借用pm2完成进程的管理与代码的自动发布

关于pm2的安装与使用: 进程管理工具之PM2

在项目的根目录下新增pm2的配置文件,例如:pm2.config.js

module.exports = {
apps: [
{
name: 'h5',
script: 'server.js'
},
],
deploy: {
production: {
user: 'root',
host: '47.99.134.126',
ref: 'origin/master',
repo: 'git@git.zhlh6.cn:Nick930826/h5.git',
path: '/www/juejue-vite-h5',
'post-deploy': 'git reset --hard && git checkout master && git pull && npm i --production=false && npm run build:release && pm2 startOrReload ecosystem.config.js', // -production=false 下载全量包
env: {
NODE_ENV: 'production'
}
}
}
}

参数说明:

  • apps:script 为服务器通过 pm2 要执行的脚本,name 为脚本在 pm2 列表中的名称,这个名称要注意,避免后续其他项目重名,在服务器中你会无法区分是哪个项目。

  • deploy:production 为部署正式环境的配置

  • production.user:默认 root 用户。

  • production.host:要部署的服务器 IP 地址。

  • production.ref:要部署的代码,在代码仓库中的哪个分之,如果是测试环境,那么这里应该就是 origin/develop,这里我们默认是正式。

  • production.repo:代码存放的地址,这里是我的地址,你可以写你自己的代码仓库地址。

  • production.path:在服务器拉取远程仓库地址之后,存放在服务器中的地址

  • production.post-deploy:需要执行的一些指令,如 git reset 重制、git checkout master 切换分支、git pull 拉取最新代码、npm i 安装依赖、npm run build 打包构建、pm2 startOrReload ecosystem.config.js pm2 执行项目。

这里有一点要注意的是,安装依赖的时候,设置 --production=false 的目的是将 devDependencies 中的包也进行安装,否则我们无法进行 vite 打包操作。

首次执行的时候,由于服务器中并没有 h5 这个项目,所以我们需要初始化一下项目

pm2 deploy ecosystem.config.js production setup

这一步只是初始化, 并没有进行真正的部署

此时服务器中已经存在 h5 项目,接下来就是自动化执行整个部署流程,执行指令:

pm2 deploy production

注意,代码一定要先提交,因为服务器需要拉取最新的代码,这里必须要保持本地 commit 是没有未提交的。

这个时候就可以看到项目已经在服务器上运行起来了, 可以访问端口验证一下

前端项目部署之pushstate-server的更多相关文章

  1. Dockerfile + Nginx.conf文件记录(用于前端项目部署)

    Dockerfile + Nginx.conf文件记录(用于前端项目部署) 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理),默认服 ...

  2. 前端项目部署之Grunt

    如果你的前端项目很小或都者项目不需要通过专门的运维同学走流水线上线部署的话,那么可以略过以下的繁文. ok,Let's go! 我们看看如何使用grunt来部署上线项目? 前端项目一般分为两种类型:T ...

  3. Luffy之前端项目部署搭建

    1. 搭建前端项目 1.1 创建项目目录 cd 项目目录 vue init webpack lufei 根据需要在生成项目时,我们选择对应的选项, 效果: 根据上面的提示,我们已经把vue项目构建好了 ...

  4. 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题

    背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视. 所以在我们前端开发完成后,会有一些列的web应用的上线验证,如自测.QA测试.code review 等 ...

  5. JSP_运维_JSP项目部署到server(适合0经验新手)

    实战:真正server端部署jsp项目经验总结与记录(完整过程从0到10适合对server端部署0经验新手) jsp+tomcat+mysql项目部署到真正server; servermysql安装; ...

  6. 简单的利用nginx部署前端项目

    网上有很多教程写的一大堆东西,新手可能会有点看不懂,现在我写这篇文章是为了更好的帮助新手,如何将自己的前端项目部署到自己的服务器上. 首先我们必须要有一台自己的ubuntu服务器,如果没有可以去阿里云 ...

  7. .NET Core +Angular 项目 部署到CentOS

    前言: 最近公司需要开发项目能在Linux系统上运行,示例开发项目采用.Net Core + Angular开发:理论上完全支持跨平台. 但是实践才是检验真理的唯一标准:那么还是动手来验证实现下:过程 ...

  8. 如何使用Docker构建前端项目

    原文链接 Docker单独部署前端项目和Node项目是非常便捷的,在这里分享一下Docker的使用,主要聊聊它的部署实践.(我是window10专业版安装Docker) Docker Docker是一 ...

  9. SSIS2012 项目部署模型

    SSIS 2012 支持两种部署模型:项目部署模型和包部署模型. 使用项目部署模型可以将项目部署到 Integration Services 服务器,使用包部署模型可以将单独的包部署到Integrat ...

  10. SSIS 项目部署模型

    微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 项目部署模型 关于部署 SSIS 2012 支持两种部署模型:项目部署模型和包部署模型. 使用项目部署模型可以将项目部署到 Integ ...

随机推荐

  1. Seata 四大模式详解

    分布式事务 参考文章: 分布式事务实战方案汇总 https://www.cnblogs.com/yizhiamumu/p/16625677.html 分布式事务原理及解决方案案例https://www ...

  2. Angular – Language Service

    介绍 Angular Language Service 是一个针对 Angular 项目的程序静态分析 (Program Static Analysis) 工具,它的作用是提升开发体验. 很多 IDE ...

  3. ++i与i++在效率上的细微差别

    在一些特定的使用中, i++ 可能将原值用中间量存起来以待使用,下面看相关程序的汇编代码(使用 gcc ). i++ 源程序: #include <stdio.h> int main(){ ...

  4. 痞子衡嵌入式:如果i.MXRT离线无法启动,试着分析ROM启动日志

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MXRT系列MCU的ROM启动日志. 关于 i.MX RT 启动问题解决的文章,痞子衡写过非常多,其中大部分都是具体到某一类启 ...

  5. Element PRO 破解版 3.18.1版插件

    百度网盘提取 链接:https://pan.baidu.com/s/1KKOm7O1ghhIoYNiQPdzG_Q 提取码:1234

  6. CSP 联训 3

    好吧,又倒数了,就签了个 T2,100 pts. T1 我把相同颜色的存起来,每种颜色找出枚举选哪两个座位不合法的矩阵的左上和右下,如果找到的矩阵左下和右上也相同,则这个矩阵确实不合法,减去,但判断左 ...

  7. 一生财运三世书财运测算api接口免费版_json格式数据获取

    ‌三世书财运是根据生辰八字推算出的一个人今生的财运状况,它认为人的财运受到前世因果的影响,同时也会受到今生行为的影响.‌这种算命方法起源于佛教的<三世因果经>,据说可以推演一个人的前世.今 ...

  8. vue前端开发仿钉图系列(4)右侧行政区绘制的开发详解

    行政区绘制是基于高德地图的api,需要在高德提供的代码基础上做好html代码在vue页面上的适配.核心功能就是选择省市区,可以根据需要绘制对应选中的地图图层.整理总结不易,如需全部代码,请联系我150 ...

  9. 云原生周刊:Argo CD v2.12 发布候选版本 | 2024.06.24

    开源项目推荐 kOps kOps - Kubernetes Operations,是一个用于创建.销毁.升级和维护生产级高可用 Kubernetes 集群的工具.它支持在 AWS.GCP.Digita ...

  10. NIO和传统IO

    传统 IO 基于字节流或字符流(如 FileInputStream.BufferedReader 等)进行文件读写,以及使用 Socket 和 ServerSocket 进行网络传输. NIO 使用通 ...