Vue项目打包部署到apache服务器

vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器。

但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进行打包,打包后会在项目目录下生成一个dist文件夹,内容如下:

然后就是把这些文件丢到服务器上的某个文件夹下,我这里的文件夹名字是ibms

遇到的问题:

1. 直接去访问http://www.xxx.com/ibms/,会发现网页是白屏的,什么都没有,这就比较奇怪了,其实是因为资源加载的路径有问题!

解决方法:

在config中的index.js里build下修改webpack配置:

assetsPublicPath: ‘/ibms/‘

在router中的index.js配置中加上:

export default new Router({
  mode: ‘history‘,
  scrollBehavior: () => ({ y: 0 }),
  base: ‘/ibms/‘, // 加上这一行
  routes: constantRouterMap
})

接下来再重新npm run build打包,然后丢到服务器上ibms文件夹下,这时页面就可以正常访问了。

2. 在当前页面刷新或者用url栏访问某个子页面,结果发现网页404了,这是因为vue路由的mode是history模式。

解决方法:

把所有的请求全部转发到http://www.xxx.com/ibms/index.html上就可以了

我这里用的是apache做的web服务器,在ibms目录下新建.htaccess文件(跟index.html同级),编辑代码。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /ibms/
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /ibms/index.html [L]
</IfModule>

这个配置的作用就是把所有服务器上不存在请求全部转发到index.html上去。(PS:记得要重启apache服务器哦)

如有错误,请多指教,谢谢!

原文地址:https://www.cnblogs.com/ykCoder/p/11022572.html

时间: 2024-10-24 21:02:28

Vue项目打包部署到apache服务器的相关文章

vue项目打包部署-----解决打包后访问资源失败问题

vue项目打包部署-----解决打包后访问资源失败问题. 本文链接:https://blog.csdn.net/kaola_l/article/details/80497490 打包之前需要修改如下配置文件: 配置文件一:build>>utils.js (修改publicPath:"../../" , 这样写是处理打包后找不到静态文件的问题) 配置文件二:config>>index.js(修改assetsPublicPath:'./' ,修改目的是为了解决js找

vue项目打包部署生产环境

vue项目打包部署生产环境 打包部署生产环境之前需要修改配置文件: 修改一:build > utils.js  (修改publicPath:"../../" , 这样写是处理打包后找不到静态文件的问题) 修改二:config > index.js (修改assetsPublicPath:'./' ,修改目的是为了解决js找不到的问题) 两个文件修改完成之后,运行命令:npm run build 打包直接访问dist文件夹中的index.html即可. 原文地址:https:

vue项目打包部署elementUI的字体图标丢失问题

自己搭建的Vue项目,没有使用vue-cli,引入elementUI时,使用的是webpack直接打包工具,发现字体图标丢失你 记录一下解决办法: webpack module配置:(build目录下webpack.base.conf.js文件) { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('fonts/[name].

idea下maven项目打包部署到tomcat服务器

参开博客:https://blog.csdn.net/qq_34302802/article/details/91507172 1.pom.xml文件里面 <packaging>war</packaging> 2.idea点击package,生成war包在target文件下 3.将war包的名字改成和配置发布的项目名称一样 4.连接远程服务器地址,把war包放到服务器tomcat下的webapps下面 5.进入bin,输入./startup.sh 6.tomcat运行起来后,pos

vue项目打包部署tomcat注意事项

1.修改config/index.js中的 assetsPublicPath:'./' 2.集成vue-router的话,修改router.js,如下图: 3.修改build/util.js,如下图, 4.在tomcat的webapps目录下新建一个第二步中base指定的目录名(本例为declaring),将打包后的文件放到declaring目录下即可. 原文地址:https://www.cnblogs.com/zifayin/p/8312677.html

Django项目部署到Apache服务器

本文讲述的是在阿里云服务器(ECS)上部署Django项目于Apache,服务器操作系统为ubuntu,公网Ip地址为123.56.30.151. 将Django部署到Apache服务器的原因 Django中的runserver只是一个很简单的web服务器,启动服务器常见的方法是通过Putty执行命令.虽然调试和测试方便,然而如果关闭了Putty或者退出命令,服务就停止了,并且不能承受许多用户同时使用的负载.所以需要将Django部署到生产级的服务器,这里选择Apache. ubuntu上部署详

在Eclipse中使用Maven将Web项目自动部署到tomcat服务器

一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示: 在New窗口中选择 Maven -> Maven Project.点击[next]如下图所示: 1.2 选择项目路径 根据项目的实际情况选择项目的存放目录,也可以选择[Use default Workspace location]默认工作空间.如下图所示: 1.3 选择项目类型 在Artifact Id中选择maven-archetype-webapp,如下图所示

使用Eclipse发布Web项目并部署到Tomcat服务器

使用Eclipse发布Web项目并部署到Tomcat服务器: 1.先建立两个JavaWeb项目:分别命名为:JavaWeb_TestRelease01 JavaWeb_TestRelease02,在里面分别创建两个index.jsp页面,body内容分别为: Wecome to aaa.com home page, Wecome to bbb.com home page 2.使用Eclipse将两个项目导出为.war文件,分别选中项目,右击鼠标,选中Export...>>选中Web WAR f

Jenkins自动化构建vue项目然后发布到远程服务器

部署Jenkins参照另一篇博客: centos7安装Jenkins及其卸载 一.jenkins相关插件的安装 1.安装Publish Over SSH插件用于SSH连接远程的服务器. 登录 jenkins 管理系统首页,打开“系统管理”--“管理插件”  搜索 Publish Over SSH 然后勾选安装 2.安装 NodeJs插件 用于vue项目打包构建. 打开“系统管理”--“管理插件”  搜索 nodejs 然后勾选安装 打开“系统管理”--“Global Tool Configura