【问题标题】:Vue.js build, config not gettign loaded when running on buildtest serverVue.js 构建,在构建测试服务器上运行时未加载配置
【发布时间】:2021-10-26 21:04:51
【问题描述】:

我有一个 vue 2 项目

在我的 router\index.ts 我有以下行

Vue.prototype.$config = require('/public/config.json')

该文件包含我需要用于初始化 Okta 的设置。

在我的本地盒子上工作,其中 public 与 src 处于同一级别。

构建服务器创建构建并将其复制到构建服务器时。

config.json 文件(以及所有其他公共文件)位于根目录中,编译后的代码似乎位于 JS 文件夹中。

但应用程序没有加载它,这些值没有被使用。

我尝试将其移至根目录下的公用文件夹。

我尝试将其移至 js\public 文件夹。

都没有用

我必须将它移动到哪里,以便当 vue 应用程序在 IIS 中加载时,它会从 config.json 文件中加载值?enter code here

据我所知,有一个来自应用程序的 config.js 版本已编译到 js 文件夹中(它正在从我的开发框/源控件加载设置,而不是找不到设置)。我是否必须修改构建才能不这样做?

【问题讨论】:

  • 您可以从浏览器访问生产文件吗?喜欢https://somewhere.com/config.json?
  • 是的,我完全可以,它应该是新的“在开发服务器上”版本,但它没有加载。 myApp.myserver.org/public/config.json 也一样

标签: typescript vue.js iis


【解决方案1】:

我有以下想法可以解决您的问题。

FIRST:您必须设置正确的路径以避免使用相对或绝对路径的错误引用。在你的情况下,它会是这样的:

Vue.prototype.$config = require(process.env.BASE_URL + '/public/config.json')

有关详细信息,请参阅文档:The public folder


第二个: 移动您的config.json 并从src 引用它。这看起来像:

Vue.prototype.$config = require('~@/json/config.json')

【讨论】:

  • 这个 Lazy 会加载它吗?问题似乎是文件值正在编译,而不是在运行时加载,谢谢!
  • @EricBrown-Cal 据我所知,一切都已编译。只有public 中的文件将保持未编译状态。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多