【问题标题】:monorepo with vue-cli 3 and lerna带有 vue-cli 3 和 lerna 的 monorepo
【发布时间】:2019-04-16 14:45:43
【问题描述】:

我正在尝试使用 vue-cli 3 和 lerna 创建一个 monorepo。我现在有两个包:

commonappcommonapp 都使用 Vue 并导入它。 common 的主要设置是这样的。 "main": "dist/common.umd.min.js"

当我在app 中导入common 时,进程崩溃并出现此错误消息,试图处理common.umd.min.js

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

即使使用node --max-old-space-size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve 运行也会引发此错误。

如果我使用"main": "src/main.ts",则构建过程有效,但是当我使用vue-cli-service build 时,Vue 被捆绑两次,一次用于common,一次用于app

【问题讨论】:

    标签: node.js vue.js vue-cli-3 lerna


    【解决方案1】:

    如您所见,您在应用程序中捆绑了两次 Vue。这可能是因为您将 Vue 作为 commonapp 包的依赖项。

    app 包成为唯一依赖于 Vue 的包,然后你可以让你的common 包导出一个Vue plugin。然后你的app 包可以像这样安装common 插件:

    // main.js (in the app package)
    
    import Vue from 'vue';
    import plugin from 'my-common-package';
    
    Vue.use(plugin);
    

    我不确定是什么导致了内存不足错误,但只使用一个 Vue 实例是一个好的开始。

    【讨论】:

      猜你喜欢
      • 2019-07-09
      • 2021-11-05
      • 2019-07-02
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 2019-05-07
      • 2020-07-30
      • 1970-01-01
      相关资源
      最近更新 更多