【发布时间】:2021-02-19 17:04:08
【问题描述】:
我用 cli 安装了新的 vue 3 应用程序,还包含 vue 路由器。
在我的网站上,我已将构建的文件放入 www/dist 子文件夹。然后在我的 php 索引文件中,我手动将所有 js/css 文件链接到 /dist 文件夹。
我在组件中有一张图片
<img class="discord-icon" src="@/assets/discord.png">
当我设置 publicHtml = '/dist' 时,即使显示图像,一切正常,但由于某种原因,我的主页从原来的“www.page.com”重定向到“www.page.com/dist”
我想在主页上有默认的“www.page.com”,但也有工作图像,我该如何实现?
编辑: 我的路由器配置(默认来自手动 cli 使用路由器安装)
const routes = [
{
path: "/",
name: "Home",
component: Home
}
]
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes
});
更新: 在 vue discord 上,有人建议我为此创建 .htaccess,遗憾的是我没有足够的技能来创建一个,甚至不知道将它存储在哪个文件夹中。由于我使用的是 php 框架(Nette),所以我已经有另一个在那里了
这就是我现在的工作方式:
“publicPath:'/dist'”和“历史: createWebHistory(process.env.BASE_URL)”,其中项目位于“/dist” 文件夹,所以页面转到www.page.com/dist。所有工作,但是。我去 “www.page.com”它重定向到“/dist”但是当在html中查看它时 不生成“/dist/css/chunk-vendors.css”所以所有导入的css都是 失踪。但是当我点击刷新时(直接去www.page.com/dist) chunk-vendors.css 已加载。默认情况下,vendors.css 不在 生成 index.html 所以我猜它是由 js 完成的。所以我有邪恶的想法 只是将 vendor.css 链接手动粘贴到我的生产中 index.html 并且它可以工作,尽管直接转到 /dist url 时我 最终加载此样式 2 次大声笑。然后我变得更加邪恶 思考并更改为 'history: createWebHistory("/")' ,重建 用于生产,现在我有很好的www.page.com 甚至全部导入 样式正在工作(手动粘贴该样式链接),只是 感觉我会在地狱里燃烧。
【问题讨论】:
-
似乎问题可能出在您的 PHP 中,您“手动将所有 js/css 文件链接到 /dist 文件夹”,或者在您的
vue-router配置中。您的问题没有显示足够的上下文来重现问题。 -
您好,在 vue 路由器中,我将“history:createWebHistory(process.env.BASE_URL)”更改为 history:createWebHistory('/'),似乎问题停止了,但我只有一个页面我可能会用那个破坏一些东西? Php 不能是这个的来源,因为当我评论 js 包含时,页面显示在“www.page.com”虽然因为代码被评论了所以是空白的。
-
附加到问题
标签: vue.js vue-router vuejs3