Я работаю над модулем NPM, и у меня были проблемы с моей конфигурацией babel. Я использую ES6, в частности с async / await, статическими методами классов и импортом / экспортом.
Сначала у меня появилась общая проблема: ReferenceError: regeneratorRuntime is not defined
. Поэтому я установил babel-plugin-transform-runtime
как зависимость dev и добавил ее в плагины в .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"
]
}
Может кто-нибудь подсказать, как это исправить / дать совет по использованию babel при публикации модулей npm?