首页 > 解决方案 > 如何修复“无法在 npm 链接模块中解析 '@babel/runtime/regenerator'”?

问题描述

使用 webpack+babel 转换我的一些链接(如在 npm 链接中)依赖项时出现该错误。

我正在使用最新版本的 npm/webpack/babel。我将核心依赖项用 JS6 编写并作为 NPM 包发布。我只捆绑我的 webapps 和更高级别的包,我配置 webpack 以在这样做时转换核心 deps。

换句话说,我的一些依赖node_modules项需要被转译。当我使用已发布的包(npm install)时,它可以正常工作,但是当我使用开发存储库(npm 链接)时,它会因该错误而失败:

错误:无法在 {module repository path, not under project tree} 中解析 '@babel/runtime/regenerator'

我发现的临时修复是npm install --no-save @babel/runtime在核心依赖库中,但是每次我都会删除npm update它,所以这很烦人。

webpack.config.js:

const webpack = require('webpack')

const config = {
  devtool: 'source-map',
  module: {
    rules: [
     {
        test: /\.(js)$/,
        loader: 'babel-loader'
     }
    ]
  }
}

const library = Object.assign({}, config, {
  entry: './src/index.js',
  output: {
    path: __dirname + '/web',
    filename: 'cosmic-lib.js',
    library: 'cosmicLib',
    libraryTarget: 'umd',
    globalObject: 'typeof self !== \'undefined\' ? self : this'
  },
  externals: { 'stellar-sdk': 'stellar-sdk' }
})

module.exports = [ library ]

我想找到一种方法来在开发环境中转换这些核心依赖项,而无需更改其原始存储库。

标签: javascriptnpmwebpackbabeljs

解决方案


推荐阅读