从变量动态加载Vue组件

时间:2017-12-08 13:27:22

标签: webpack vue.js vue-component

我正在构建一个非常大的企业应用程序,其中组件按需加载,我使用require.js,我能够require(stringVar){..}

但是我无法在webpack中这样做,我认为webpack在所有方面都更好

var URL ="./components/async.vue";
      console.log(typeof(URL));
      Vue.component("async", function(resolve) {
        // Master Loader
        require([URL], resolve);
      });

一切我将require(["./components/async.vue"], resolve);的值更改为require([URL], resolve);它会抛出

Critical dependency: the request of a dependency is an expression

2 个答案:

答案 0 :(得分:0)

我在我们的应用程序中做了很多,但不是以这种特定的方式。但是,我认为resolve应该发回组件的定义。

你c(/ sh)应该尝试:

resolve(require(URL))

DOUBT:上面提到的URL是服务器上的资源命中/两个组件之间的相对路径吗?

答案 1 :(得分:0)

这解决了使用Webpack上下文依赖关系管理的问题

var Dynamic_address =" ./ component / myfirstcomp.vue";

要求(" ./ template /" + Dynamic_address +" .vue");

https://webpack.js.org/guides/dependency-management/#require-context