Lerna monorepo NestJS&;Create-React-App:Works-find处于开发模式,但构建失败

Lerna monorepo NestJS&;Create-React-App:Works-find处于开发模式,但构建失败,create-react-app,lerna,monorepo,craco,Create React App,Lerna,Monorepo,Craco,我创建了一个带有两个包的lerna monorepo:一个香草NestJS应用程序和CRA生成的应用程序。在这里,我使用craco从monorepo导入其他包 在NestJS包中,我有一个简单的类,我想在react应用程序中共享/使用它。它包含一个节点导入和一些方法: import countries from 'i18n-iso-countries'; export class Cat { constructor(private readonly name: string) {}

我创建了一个带有两个包的lerna monorepo:一个香草NestJS应用程序和CRA生成的应用程序。在这里,我使用craco从monorepo导入其他包

在NestJS包中,我有一个简单的类,我想在react应用程序中共享/使用它。它包含一个节点导入和一些方法:

import countries from 'i18n-iso-countries';

export class Cat {
  constructor(private readonly name: string) {}

  public get from() {
    return countries.alpha2ToAlpha3('DE');
  }

  public makeSound() {
    return 'Meow!';
  }
}
在开发模式(
纱线运行开始
)下运行CRA可以正常工作。我可以创造很多猫,并调用它们的方法。因此,monorepo的设置基本上是可行的。但是,如果我在CRA中运行
warn run build
,我会得到以下错误:
尝试导入错误:“i18n iso国家”不包含默认导出(作为“国家”导入)。

如果我在cat类中删除i18n iso countries导入,它就可以正常构建。我尝试了几种变体,例如命名的导入
import{alpha2ToAlpha3}来自“i18n iso国家”
import*来自“i18n iso国家”
。在CRA中开始使用纱线时,它们都工作良好,但在创建生产构建时失败

我的craco配置

const path = require("path");
const { getLoader, loaderByName } = require("@craco/craco");
const absolutePath = path.join(__dirname, "../backend");

http: module.exports = {
  webpack: {
    alias: {},
    plugins: [],
    configure: (webpackConfig, { env, paths }) => {
      const { isFound, match } = getLoader(webpackConfig, loaderByName("babel-loader"));
      if (isFound) {
        const include = Array.isArray(match.loader.include)
          ? match.loader.include
          : [match.loader.include];
        match.loader.include = include.concat[absolutePath];
      }
      return webpackConfig;
    },
  },
};

concat语法似乎有缺陷。尝试:

match.loader.include=include.concat([absolutePath]);

您好,为什么会出现此警告:
分配给原语的值将丢失