react和typescript项目中esm.mjs文件的Webpack加载器配置

drkbr07n  于 2023-10-19  发布在  Webpack
关注(0)|答案(2)|浏览(527)

Error in ./node_modules/react-hook-form/dist/index.esm.mjs模块解析失败:意外的标记(126:22)您可能需要适当的加载程序来处理此文件类型。
从react-hook-form导入{ useForm,SubmitHandler };
我在尝试从React Hook Form包中使用useForm时得到了这个错误,
请帮我解决

8ljdwjyq

8ljdwjyq1#

使用较低版本的.cjs文件导出到dist/node_modules下,否则,也可以更新您的package.json以包括:

  1. "type" : "module",

这将使.mjs文件能够工作(ESModules)

dgiusagp

dgiusagp2#

如果你的react-scripts版本不是5,你应该在react的webpack中添加.mjs配置细节。因此,安装 react-app-rewired,然后创建 * react-overrides.js* 文件并添加以下内容

  1. module.exports = function override(webpackConfig) {
  2. webpackConfig.module.rules.push({
  3. test: /\.mjs$/,
  4. include: /node_modules/,
  5. type: "javascript/auto"
  6. });
  7. return webpackConfig;
  8. }

package.json中的react脚本应该更新为

  1. "scripts": {
  2. "start": "react-app-rewired start",
  3. "build": "react-app-rewired build",
  4. "test": "react-app-rewired test",
  5. "eject": "react-scripts eject"
  6. },

另一个解决方案是将react-script升级到5.0.1版本

展开查看全部

相关问题