Vue cli 路由和获取文件的问题

Vue cli problem with routing and getting files

我用VUE CLI发布了一个项目。

当我构建我的项目时,它没有工作,我知道问题所在

Javascript /js/* 中的文件无法正常工作,因为它们使用 vue 自身进行路由,而不是上传 javascript 文件,服务器 return html文件,我在控制台中有错误:

Uncaught SyntaxError: Unexpected token '<'

我找到了将所有资源(js、css、字体)放入外部目录并编辑 index.html

的解决方案

问题如何在 vue cli 中解决这个问题?

示例: 我没有在 mywebsite/js/app.a5fe57de.js 中获取脚本,而是在 url.

中获取页面 html

非常感谢您的帮助。

问题来自 .htaccess 文件(我在后端使用 php)给定 here:

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

要解决问题我们应该把所有资源(javascripts/imgs/css ...)放在一个目录下,然后关闭这个文件夹里的Rewrite mod

1. 使用配置创建文件 vue.config.js :

module.exports = {
    publicPath: "/",
    outputDir: "dist/",
    assetsDir: "public/assets/"
}

2. 通过命令npm run build构建项目后,我们的资产(javascripts/img/css ....)在目录public,然后我们将这个 .htaccess 文件放入其中:

RewriteEngine Off

构建项目将正常工作!