webpack和babel-polyfill:无法在源目录中解析“ core-js / modules / es6.array.map”

leg*_*ogo 6 javascript node.js typescript webpack babel-polyfill

我执行时遇到此错误webpack

Module not found: Error: Can't resolve 'core-js/modules/es6.array.map' in '/path/to/project/src'
 @ ./src/index.ts 1:0-39
Run Code Online (Sandbox Code Playgroud)

index.ts

console.log([1, 2, 3].map(x => x * x));
Run Code Online (Sandbox Code Playgroud)

.babelrc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "usage"
      }
    ]
  ]
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

const path = require('path');

module.exports = {
  mode: 'development',

  entry: './src/index.ts',
  devtool: false,
  output: {
    filename: 'bundle.js',
    path: path.join(__dirname, 'dist')
  },
  module: {
    rules: [
      {
        test: /\.ts$/,
        use: [
          { loader: 'babel-loader' },
          { loader: 'ts-loader' }
        ]
      }
    ]
  },
  resolve: {
    extensions: [
      '.ts'
    ]
  }
};

Run Code Online (Sandbox Code Playgroud)

我认为错误是要尝试解析中的模块src/,这很奇怪node_modules/

我试着删除node_modulespackage.json,然后npm i,但它并没有改变这种状况。

我还尝试了此处@babel/polyfill描述的另一种使用方式。

设置useBuiltIns'entry'只会增加类似错误的数量。将其设置为会false导致不同的错误。

Module not found: Error: Can't resolve 'core-js/es6' in '/path/to/project/node_modules/@babel/polyfill/lib'
 @ ./node_modules/@babel/polyfill/lib/index.js 3:0-22
 @ multi @babel/polyfill ./src/index.ts

ERROR in ./node_modules/@babel/polyfill/lib/index.js
Module not found: Error: Can't resolve 'regenerator-runtime/runtime' in '/path/to/project/node_modules/@babel/polyfill/lib'
 @ ./node_modules/@babel/polyfill/lib/index.js 23:0-38
 @ multi @babel/polyfill ./src/index.ts
Run Code Online (Sandbox Code Playgroud)

这似乎core-jsregenerator-runtime应安装在node_modules/@babel/polyfill/。当前,目录中只有index.jsnoConflict.js。我是否必须在这些目录中手动安装这些模块?

leg*_*ogo 2

尝试在您的 s 中添加以下内容resolve-

  resolve: {
    extensions: [
      '.ts',
      '.js' // add this
    ]
  }
Run Code Online (Sandbox Code Playgroud)