【问题标题】:Error Could not resolve entry module React + Rollup错误无法解析入口模块 React + Rollup
【发布时间】:2022-09-23 04:41:17
【问题描述】:

我需要构建可跨应用程序使用的可共享 React 组件。

为此,我正在/正在关注以下文章

我的配置看起来完全一样,除了 npm 包版本(甚至尝试使用相同的版本)

文件夹结构如下所示

rollup.config.js

import resolve from \"@rollup/plugin-node-resolve\";
import commonjs from \"@rollup/plugin-commonjs\";
import typescript from \"@rollup/plugin-typescript\";
import dts from \"rollup-plugin-dts\";

const packageJson = require(\"./package.json\");

export default [
{
 input: \"src/index.ts\",
 output: [
  {
    file: packageJson.main,
    format: \"cjs\",
    sourcemap: true,
  },
  {
    file: packageJson.module,
    format: \"esm\",
    sourcemap: true,
  },
],
plugins: [resolve(), commonjs(), typescript({ tsconfig: \"./tsconfig.json\" })],
},
{
 input: \"dist/esm/types/index.d.ts\",
 output: [{ file: \"dist/index.d.ts\", format: \"esm\" }],
 plugins: [dts()],
},
];

npm 脚本

\"rollup\": \"rollup -c\"

但是,当我运行 npm run rollup 时,会引发以下错误

[!] 错误:无法解析入口模块 (dist/esm/types/index.d.ts)。
错误:无法解析入口模块(dist/esm/types/index.d.ts)

请建议。谢谢!

  • 在 rollup.config.js 中更改 dist/esm/types/index.d.ts -> dist/esm/index.d.ts
  • @Eliot 是的,您的建议解决了这个问题。非常感谢你。 :)
  • @Eliot您的建议有效。非常感谢

标签: reactjs rollupjs


【解决方案1】:

在使用汇总时,我也遇到了同样的问题。在花了一些时间寻找解决方案之后,我终于解决了这个问题。

我的配置看起来完全一样,除了 npm 包版本(甚至尝试使用相同的版本)

您所说的例外实际上是问题所在。问题在于包版本控制.比8.3.3 更高版本的包@rollup/plugin-typescript 不会在types 文件夹中生成或存储声明文件,该文件夹预计位于以下路径:dist/cjs/dist/esm/

此时的最新版本是8.5.0,它仍然会中断。希望它在不久的将来得到修复。

修复错误的步骤

  • 确保您的tsconfig.json 文件具有"declarationDir": "types",以便在您运行npm run rollup 时指导捆绑程序的打字稿插件在types 文件夹中创建和存储声明文件
  • 通过运行npm un @rollup/plugin-typescript --save-dev卸载现有的@rollup/plugin-typescript包版本
  • 使用命令npm i @rollup/plugin-typescript@8.3.3 安装@rollup/plugin-typescript如您所见,我们正在选择一个特定的版本.

如果您仍然遇到问题:

  • 手动更新package.json 文件,例如:"@rollup/plugin-typescript": "8.3.3"注意我删除了插入符号 (^) 以将包绑定到版本 8.3.3
  • 删除node_modules 文件夹。您可以使用命令rm -rf node_modules
  • 删除package-lock.json
  • 运行npm i 以使用package.json 中指定的版本再次安装软件包

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 2019-08-09
    • 2019-07-06
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    相关资源
    最近更新 更多