当使用Lerna时,关键字';接口';是保留的 [英] The keyword 'interface' is reserved when using lerna
本文介绍了当使用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屋!
查看全文