【发布时间】:2019-07-12 19:13:13
【问题描述】:
上下文
我必须创建一个 Vue.js 应用程序作为我的 REST API 后端的 UI。 它将为每个客户显示。
此应用程序显示要处理的项目列表(带有一个小工作流程:打开、进行中、完成)。
我的一些客户为此列表请求特定且不同的视图:例如,他们希望列表以另一种布局显示,或者包含来自其内部应用程序的额外数据。
我的想法
所以,我必须为这些客户端创建特定的 Vue.js 组件,但我不想用这些客户端的所有组件“污染”我的主应用程序代码库。 我希望在专门的代码库中处理这些视图。
我想知道是否可以根据使用应用程序的客户端使用动态导入/异步组件(Article on optimization with Dynamic imports 和Official Vue.js doc for Dynamic imports)来加载这些组件。 这些组件将从另一台服务器加载,而不是服务于主要 Vue.js 应用程序的服务器。
动态加载组件的实际方式是:
'my-component': () => import('./my-async-component')
有没有可能做这样的事情:
'my-component': () => import('http://myspecificclient.mydomain.com/my-async-component')
我了解动态加载与 Webpack 尤其相关,这可能是一个问题,但我对 Webpack 的熟练程度不高,不知道我想做的事情是否相关。
【问题讨论】:
-
看起来是:developers.google.com/web/fundamentals/primers/modules
import {shout} from 'https://simple.example/modules/lib.mjs'; -
有趣的是,我知道您可以从另一台服务器加载 javascript 函数和对象。尽管就我而言,我想更进一步:我想加载 Vue.js 组件(在“.vue”文件中定义)。这些文件通常由 Webpack 处理以将它们转换为包和块。是否可以直接加载一个 Vue.js 组件,该组件本身可能依赖于特定服务器上的子组件?
-
您是否尝试过使用
async component以这种方式加载 vue 文件?尝试从本地 Web 服务器获取文件(如果您想快速测试,请使用 http-server) -
我需要一些指导才能做到这一点...... vue 组件由 webpack 编译成块,我不知道我应该在我的 url 中定位什么( import('?? ??') ) 如果是可以在 Web 服务器上直接访问的 javascript 文件 ".js" 会更容易,但事实并非如此 :-/
-
使用这个语法:vuejs.org/v2/guide/…,如果你使用完整的 http URL 而不是相对路径会发生什么?您可能必须使用函数而不是直接使用 import 语句
标签: javascript vue.js webpack vuejs2 vue-component