当使用Lerna时,关键字'接口'是保留的 [英] The keyword 'interface' is reserved when using lerna

查看:14
本文介绍了当使用Lerna时,关键字'接口'是保留的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用create-react-app创建的Reaction项目,现在我正尝试将其转换为Monorepo架构。我将所有独立代码移动到一个包中,将其馀代码(以及App.tsx和index.tsx)移动到另一个包中,即Package1。此外,我还在Package2中添加了Package1的依赖项。

但是,当我尝试在第二个包中执行yarn start时,收到以下错误:

模块分析失败:关键字‘接口’被保留(11:0) 您可能需要适当的加载器来处理此文件类型,目前没有配置加载器来处理此文件。请参见https://webpack.js.org/concepts#loaders

我在安装中做错了什么,导致我出现此错误?

推荐答案

在Lerna项目中运行,并 将其添加到Package2中的craco.config.js文件

const path = require('path');
const { getLoader, loaderByName } = require('@craco/craco');

const packages = [
  path.join(__dirname, '../package1')
];

module.exports = {
  webpack: {
    configure: (webpackConfig, arg) => {
      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(packages);
      }
      return webpackConfig;
    }
  }
};

并更改您的package.json文件

"scripts": {
    "start": "craco start",
    "build": "craco build",
    "test": "craco test",
    "eject": "craco eject"
  }

这篇关于当使用Lerna时,关键字'接口'是保留的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆