apache部署vue cli3项目后js报错

我们有多个测试环境,所以对应每个环境打了个包,如下图
image.png

服务器是直接从git上pull下来的代码,其中打包文件夹dist也上传到git了

apache的配置如下,directory和documentroot是一样的,部署到了打包的那一层
image.png

vue项目用的是history路由,publicPath是‘/’,router的base也是‘/’

访问页面空白且js报错
image.png

目前发现的问题是这两个报错的js,response header里的conten-type是text/html
image.png

阅读 1.8k
1 个回答

这种情况肯定是Apache代理静态资源地址没代理对,你自己浏览器直接访问那些js文件就知道了全都代理到主页去了。
Apache部署vue-cli项目需要在根目录下新建.htaccess文件去做Rewrite。确保你的Apache的rewrite_module是开启的。

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

不过看你这个问题似乎不一定是没加.htaccess导致的,我印象中缺htaccess不是这个结果,先占个坑。请确保你的/dist/xxxx文件夹是正确的打包地址,并且有index.html

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题