V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
waiaan
V2EX  ›  前端开发

有没有办法先判断 vue 组件存不存在,再执行 import 语句?

  •  
  •   waiaan · 2022-05-13 14:14:29 +08:00 · 1282 次点击
    这是一个创建于 932 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假如有一段生成 vue 组件列表的代码:

    const models = [
      {
        name: 'm1',
        component: () => import('./module1')
      },
      {
        name: 'm2',
        component: () =>import('./module2')
      }
      //...还有其它模块 m3 、m4 等
    ]
    

    这段代码要在好几个项目中用到,而有的项目没有 m1 组件、有的没有 m2 组件,诸如此类,这在编译的时候会导致报错,请问该如何解决这个问题。

    谢谢。

    6 条回复    2022-05-13 22:13:58 +08:00
    murmur
        1
    murmur  
       2022-05-13 14:18:45 +08:00
    vue 有自己的动态引用组件方式,不用自己拍脑子啊
    murmur
        2
    murmur  
       2022-05-13 14:21:35 +08:00
    不懂你说的什么意思,我的理解,如果你想让你的项目没有 m1 、m2 这样自由组合需要的东西,应该统一用一个脚手架,新建的时候不需要的组件就从引用里拿掉,而不是运行编译的时候去检查你有哪些
    waiaan
        3
    waiaan  
    OP
       2022-05-13 14:28:13 +08:00
    @murmur
    这个工程要在不同的项目里通过 npm 包的方式引用,工程里先预置好了不同项目中的 vue 组件,就是上面那段代码。
    zhaol
        5
    zhaol  
       2022-05-13 14:34:16 +08:00
    @waiaan 那写成配置不就行了吗?这个工程写好不同项目的配置,通过 npm 引入,在使用的时候传参,如果是 a 项目,对应这个工程里面的 a 配置,b 对应 b 配置。
    或者用 node 的 api ,读取 m1 组件的文件,有就 import ,没有就不 import
    renmu123
        6
    renmu123  
       2022-05-13 22:13:58 +08:00 via Android
    没有的话不能删掉吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2816 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:20 · PVG 15:20 · LAX 23:20 · JFK 02:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.