Module not found: Can't resolve '@babel/runtime/helpers/esm/extends'

2,795 阅读1分钟

$ npm run start

@ start F:\cfanginht\frontend_study\dva\dva-quickstart roadhog server

Failed to compile.

./node_modules/history/esm/history.js Module not found: Can't resolve '@babel/runtime/helpers/esm/extends' in 'F:\cfanginht\frontend_study\dva\dva-quickstart\node_modules\history\esm' (node:3216) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.

  1. 项目目录下 '@babel/runtime/helpers/esm/extends' 是存在的
  2. roadhog node_modules/@babel/runtime/helpers 不存在 esm 文件 报错来自history.js
`-- dva@2.4.1
  +-- history@4.10.1
  +-- react-router-dom@4.3.1
  | +-- history@4.10.1  deduped
  | `-- react-router@4.3.1
  |   `-- history@4.10.1  deduped
  `-- react-router-redux@5.0.0-alpha.9
    `-- history@4.10.1  deduped

dva 是当前项目的依赖 roadhog 是运行当前项目的 所以会有 roadhog --> dva -->history history 引用的 extends 顺着 history --> dva-->readhog -->当前项目-->global npm 这个路径寻找 在 roadhog 找到模块但 模块没有想要的 功能.

roadhog: "@babel/polyfill": "7.0.0-beta.46", "@babel/runtime": "7.0.0-beta.46", @babel/runtime/helpers/esm/extends 存在于新版本(>=7.0.0 )的"@babel/runtime中,通过升级 roadhog可以达此目的

roadhog 用beta版有点不负责任了.