gpt4 book ai didi

javascript - 找不到模块 'babel-runtime/regenerator' 本地导入与从 NPM 导入

转载 作者:搜寻专家 更新时间:2023-11-01 00:19:36 29 4
gpt4 key购买 nike

我正在开发一个 NPM 模块,但我的 babel 配置一直有问题。我正在使用 ES6,特别是异步/等待、静态类方法和导入/导出。

起初,我遇到了以下常见问题:ReferenceError: regeneratorRuntime is not defined。因此,我安装了 babel-plugin-transform-runtime 作为开发依赖并将其添加到 .babelrc 中的插件中。当需要使用路径名或通过 npm 作为依赖项的模块时,我遇到了错误 Error: Cannot find module 'babel-runtime/regenerator'。似乎要解决这个问题,我必须要求 babel-runtime,但是,很多人似乎建议您在发布模块时不要这样做。

在查找了一些指南后,我发现了一个建议不要使用导入/导出的指南,所以我试了一下。在本地构建并要求它后,它起作用了。但是,当发布到 npm 并作为依赖项导入时,我继续收到错误:Error: Cannot find module 'babel-runtime/regenerator'

  "devDependencies": {
"babel-cli": "^6.26.0",
"babel-eslint": "^10.0.1",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
"eslint": "^5.12.0",
"eslint-config-prettier": "^3.4.0",
"eslint-config-standard": "^12.0.0",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-node": "^8.0.1",
"eslint-plugin-promise": "^4.0.1",
"eslint-plugin-standard": "^4.0.0",
"husky": "^1.3.1",
"jest": "^23.6.0",
"lint-staged": "^8.1.0",
"nodemon": "^1.18.9",
"prettier": "^1.15.3",
"rimraf": "^2.6.3"
},
{
"presets": [
"env"
],
plugins: [
"babel-plugin-transform-runtime"
]
}

有人可以建议如何解决这个问题/提供一些在发布 npm 模块时使用 babel 的建议吗?

最佳答案

根据文档,您需要两个模块:

  • 转换插件 babel-plugin-transform-runtime(你已经有了)

  • 和 polyfill 的实际运行时模块或否则在运行时(即在浏览器中)启用功能是 babel-runtime

您可以将它作为(非开发)依赖项添加到 package.json 中,例如

"babel-runtime": "^6.26.0"

,或者只是做

npm i babel-runtime --save

其他人似乎对 babel 6 也有同样的问题:

https://github.com/nozzle/react-static/issues/685

关于javascript - 找不到模块 'babel-runtime/regenerator' 本地导入与从 NPM 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54234778/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com