0

我正在开发一个 VueJS 2 应用程序,该应用程序提供核心功能作为组件的集合(例如,用于部分 GUI 或结果显示的弹出框)充当占位符。

此应用程序旨在通过自定义这些占位符来扩展,以适应项目的特定需求。当前设想的方法是在包含基本应用程序及其衍生产品的 Git 项目的专用分支中将定制组件作为具有预定义名称(例如 custom-xxx.vue)的附加 SFC 提供,这样基本应用程序源就不会被触及当基础使用简单的 git 合并演变时,它可以在自定义版本中更新它们。这对于纯 JS 源的扩展已经很有效了。

我尝试在组件部分使用类似这样的内容导入 custom-xxx SFC:

components: {
  . . .
  CustomPopup: () => {
    try {
      return require("./CustomPopup").default;
    } catch (e) {
      // fall back to the empty base component provided by the base application
      return require("./CustomPopupBase").default;
    }
  },
  . . . 
}

vue 模板在某处包含以下内容:

  . . .
  <custom-popup></custom-popup>
  . . .

它不会产生任何错误,无论是在打包时(在我的情况下使用包裹)还是在页面加载时。回退机制工作正常(通过控制台消息检查)。但是在渲染页面的任何地方都没有出现“自定义弹出”组件(使用 Chrome 上的 Vue 开发工具检查它),无论是否存在 CustomPopup SFC 文件。

这可能不是实现所追求目标的正确方法,我将不胜感激任何建议。我不认为自己是 VueJS 专家,但我已经使用它几个月了,并且已经制作了更多的“标准”应用程序。

4

0 回答 0