vue项目如何不分离发布

1、首先yarn build

  我用了vue-cli脚手架,bulid后的dist文件夹里的index.html有加版本号,那么为什么需要加版本号呢?

  a、回滚

  b、解决浏览器缓存的问题


2、我们使用apache或者nginx帮助我们

2a、apache

    这里我用的是XAMPP

    1>把apache打开(我这里是点击start)

    

    2>点击后青青草原绿

    

    

    3>etc文件下的->http.conf文件(不同人电脑这个文件的路径好像不一样,自行查找)

    


    

    4>打开该文件以后我们需要对文件进行部分修改

      4.1>首先找到DocumentRoot

   

      这两行的内容需要改变,可以任意建立一个文件,

      只要把build打包后的dist放在你建立的这个文件里就好,

      此处的两个路径都填你建立的这个文件的路径

      我此处填的是

      

      有可能会提示你权限不足,已管理员身份重试即可

      

      


      4.2>找到你的listen ,最好设置成80

  

    5>此时没必要再用localhost打开你的项目,你可以使用hostadmin配置一个假域名,便于你调试使用

  

    6>但此时你用你的假域名打开不了你的项目,一片爆红包裹着你,此时你打开你的index.html你会发现的引入的js文件等等路径写的都是/../..,换了衣服的你他认不出来了,那么你就需要重新build再build之前在你的配置文件vue.config.js中配置baseUrl:‘/dist/’具体参照官网

    

     此时你惊喜地发现改了这个配置以后,你还需要改变你的vue-router的配置,需要配置apache

     官网也给了

     

      把这一段话放在http.conf找个位置放下吧,然后修成改这个样子

      

     7>apache反向代理配置    


2b、nginx(部分步骤与2a重复所以简写)

  1>修改vue.config.js

    加上baseUrl:‘/dist/’

  2>修改路由

    修改router下的index.js

    原本是

    改成

  3>找到你nginx文件夹

    

    在里面创建一个conf.d文件夹,文件夹里随意创建任意文件

    添加如下代码

server {
listen 80;
server_name localhost;
root 你的dist所在的文件夹的路径;
autoindex on;
expires 1s;
charset utf-8; location /ajax { proxy_pass 你接口反向代理的target; } location / { try_files $uri $uri/dist /dist/index.html; }
}

  


小小一总结

带二级目录的Apache配置

  • step1: 修改 vue.config.js 添加配置 baseUrl: '/dist/',

  • step2: 修改 router/index.js const router = new VueRouter({ mode: 'history', base: '/dist/', routes })

  • step3: 修改apache 配置 添加:

RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /dist/index.html [L] -

  • step4: apache 反向代理配置

带二级目录的Nginx配置

  • step1: 修改 vue.config.js 添加配置 baseUrl: '/dist/',

  • step2: 修改 router/index.js const router = new VueRouter({ mode: 'history', base: '/dist/', routes })

  • step3: 配置nginx 在本地目录下,创建conf.d文件夹,里面随意创建任意文件 添加如下配置: server { listen 80; server_name localhost; root dist文件夹(dist爸爸)所在的路径; autoindex on; expires 1s; charset utf-8;

    location /ajax { proxy_pass 反向代理的target; }

    location / { try_files $uri $uri/dist /dist/index.html; } }

vue项目如何打包前后端不分离发布手把手教学apache、nginx的更多相关文章

  1. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史

    ---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...

  2. .Net Core+Vue.js+ElementUI 实现前后端分离

    .Net Core+Vue.js+ElementUI 实现前后端分离 Tags: Vue 架构 前端采用:Vue.js.Element-UI.axios 后端采用:.Net Core Mvc 本项目是 ...

  3. 前后端不分离部署教程(基于Vue,Nginx)

    有小伙伴私信问我vue项目是如何进行前后端不分离打包发布的,那我岂能坐视不管,如此宠粉的我肯定是要给发一篇教程的,话不多说,开始操作 前端假如我们要发布我们的Vue项目,假设我们前端用的是histor ...

  4. 【转载】java前后端 动静分离,JavaWeb项目为什么我们要放弃jsp?

    原文:http://blog.csdn.net/piantoutongyang/article/details/50878214 今天看到两篇文章,讲解 为什么web开发启用jsp,确实挺有道理,整理 ...

  5. Vue 应用 nginx 配置 前后端不分离模式

    一.先在官网下载nginx 软件,解压后放在软件盘中如D盘 将nginx 文件夹拖到编译器中,打开conf 文件夹中的 nginx.conf 文件,找到其中的server {} 配置项,默认35 行. ...

  6. Javaweb项目开发的前后端解耦的必要性

    JavaWeb项目为何我们要放弃jsp?为何要前后端解耦?为何要动静分离? 使用jsp的痛点: 1.jsp上动态资源和静态资源全部耦合在一起,服务器压力大,因为服务器会收到各种静态资源的http请求, ...

  7. .net core webapi 前后端开发分离后的配置和部署

    背景:现在越来越多的企业都采用了在开发上前后端分离,前后端开发上的分离有很多种,那么今天,我来分享一下项目中得的前后端分离. B/S  Saas 项目:(这个项目可以理解成个人中心,当然不止这么点功能 ...

  8. vue项目 构建 打包 发布 三部曲

    一.vue项目的创建 1.首先第一肯定是要有Node.js及npm这个不多说了2.安装脚手架 此时可以直接浏览-但是现在肯定有很多小白想将他发布到gitHub上并可以浏览,使用vue全家桶制作自己的博 ...

  9. Vue项目的打包

    vue项目的打包 更改config文件夹下的index.js里的assetsPublicPath路径    将 “/”  改为  “./” build: { env: require('./prod. ...

随机推荐

  1. php CLI SAPI 内置Web Server

    PHP 5.4.0起, CLI SAPI 提供了一个内置的Web服务器. 这个内置的Web服务器主要用于本地开发使用,不可用于线上产品环境. URI请求会被发送到PHP所在的的工作目录(Working ...

  2. 一个请求需要调用两个不同的数据库 添加DbContext

    当请求进入application中的方法时 会开启一个工作单元    这里面调用不同的DbContext 会默认使用第一次调用的DbContext 需要手动开启工作单元来隔离两个不同的DbContex ...

  3. es6 export 和export default的区别

    区别 export 每个文件中可使用多次export命令 import时需要知道所加载的变量名或函数名 import时需要使用{},或者整体加载方法 export export default 每个文 ...

  4. 类的调用1(被调用的MyFirstJava)

    package com.mec.MyFirstJavaLife.text; public class MyFirstJava { /**   * @param args   */ private in ...

  5. Go使用protobuf

    WIN7 + Go1.9.2+protobuf3.5.1 1.首先定义一个用于测试的proto文件test.proto,内容如下: syntax = "proto3"; packa ...

  6. 常用命令-python篇

    1. pip 加速命令 pip install --index-url https://pypi.douban.com/simple pip install -i https://pypi.tuna. ...

  7. myeclipse新建maven项目

    右键 new--->project   ---->maven project 出现bank 右键点击bank---->maven4Myeclipse---->new maven ...

  8. 用图来教你怎样用Photoshop蓝底转换红底

      教你怎样用红底转换成蓝底.PS其实学了这个,你就可以在白底红底蓝底之间不同转变了.   第一步   第二步   第三步   第四步         最后给你们看看对比效果图

  9. PHP curl是什么

    PHP curl是什么 一.总结 一句话总结:PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯. libcurl库 允许你与各种的 ...

  10. thinkphp5的Auth权限认证实战

    thinkphp5的Auth权限认证实战 一.总结 一句话总结:基于角色的权限管理(真正做一遍,就会发现很简单,不然一直都是半懂不懂的) 角色 权限 真正做一遍,就会发现很简单,不然一直都是半懂不懂的 ...