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
构建项目将正常工作!
我用VUE CLI发布了一个项目。
当我构建我的项目时,它没有工作,我知道问题所在。
Javascript /js/* 中的文件无法正常工作,因为它们使用 vue 自身进行路由,而不是上传 javascript 文件,服务器 return html文件,我在控制台中有错误:
Uncaught SyntaxError: Unexpected token '<'
我找到了将所有资源(js、css、字体)放入外部目录并编辑 index.html
的解决方案问题如何在 vue cli 中解决这个问题?
示例: 我没有在 mywebsite/js/app.a5fe57de.js
中获取脚本,而是在 url.
非常感谢您的帮助。
问题来自 .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
构建项目将正常工作!