• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tushankaka
V2EX  ›  程序员

跪求解答: VUE 动态导入 module(不是 VUE 组件)的实现方式?

  •  
  •   tushankaka · Apr 1, 2018 · 6066 views
    This topic created in 2990 days ago, the information mentioned may be changed or developed.
    各位大佬,我在用 VUE 做项目,需要一个动态导入 module 的功能.要实现下面类似的功能.

    要在 app.vue 中动态 import a.js 或者 b.js

    a.js 文件内容如下
    export default {
    a: 'a content'
    }

    b.js 文件内容如下
    export default {
    b: 'b content'
    }

    app.vue 的要根据条件,选择是导入 a.js 还是 b.js.我目前的做法是
    <template>
    </template>
    <script>
    const importURL = condition? './a.js' : './b.js'
    import(importURL).then((aModule) => {
      console.log(aModule.default)
    })
    </script>

    但是这种方式会报错,无法导入.但是如果把 importURL 替换成字符串,就能导入,但是无法实现动态导入这个需求.
    各位大佬,求指点,这样的需求该如何实现?
    5 replies    2018-04-02 14:01:18 +08:00
    Herobs
        1
    Herobs  
       Apr 1, 2018 via Android
    把 if 拿到 import 的外面
    Herobs
        2
    Herobs  
       Apr 1, 2018 via Android
    这个是 webpack 提供的特性,建议看一下 webpac 的动态导入文档。
    Biwood
        3
    Biwood  
       Apr 1, 2018 via Android
    webpack lazy loading 了解一下
    wzhndd2
        4
    wzhndd2  
       Apr 2, 2018
    tushankaka
        5
    tushankaka  
    OP
       Apr 2, 2018 via Android
    谢谢各位大佬,问题解决了。我之前只知道组件可以懒加载,没想到 js module 也可以懒加载。就是 script 里面还要写很多的定义。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1646 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:23 · PVG 00:23 · LAX 09:23 · JFK 12:23
    ♥ Do have faith in what you're doing.