webpack - 在子目录中部署 VueJS App

标签 webpack vue.js vuejs2

我在部署使用 Webpack CLi 构建的 Vue JS 应用程序时遇到问题。

如果在根目录中上传,一切都很好,但在子文件夹中,所有链接都会断开。

我添加了一个基本 href:

    <base href="/dist/">

脚本加载了,但是 Webpack 创建的所有 Assets 路径都被破坏了,图像和字体没有加载,因为它们指向根目录。

有人可以帮忙吗?

最佳答案

对于 Vue CLI 3,这非常简单。

编辑你的vue.config.js(如果没有,在项目根目录中创建它)并添加以下行:

module.exports = {
  baseUrl: "./"
};

或者你想要的任何子目录。

也可以根据NODE_ENV来决定。查看docs .

module.exports = {
  baseUrl: process.env.NODE_ENV === 'production'
    ? '/production-sub-path/'
    : '/'
}

更新

如以下评论中所述,对于 Vue CLI 3.3+,请使用 publicPath 属性而不是 baseUrl

关于webpack - 在子目录中部署 VueJS App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879418/

相关文章:

typescript - 将 Prop 传递到设置 : Property 'user' does not exist on type 时,VueJS 3 Composition API 和 TypeScript 类型问题

javascript - 如何动态使用 v-model 和 v-select

vue.js - 如何在vue中通过条件模板分离开始和结束标签而不出现编译错误?

webpack - bundle.js文件输出和webpack-dev-server

reactjs - 如何确认 Tree Shaking 是否适用于 Webpack 2?

javascript - $set 降低了 Vue 的性能

javascript - 每当我使用 axios 向后端 API 发出 GET 请求时,Vue.js 应用程序都在 http ://localhost:8080, 上运行,本地主机被添加到 URL

php - 如何在 Vue Router 中获得 404 响应

typescript - 使用 webpack 导入 UMD 构建模块会导致关键依赖错误

javascript - ES6 获取模块内部模块路径