javascript - webpack 和 babel-polyfill : Can't resolve 'core-js/modules/es6.array.map' in source directory

标签 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

index.ts:

console.log([1, 2, 3].map(x => x * x));

.babelrc:

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "usage"
      }
    ]
  ]
}

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'
    ]
  }
};

我认为错误是试图解析 src/ 中的模块,而不是 node_modules/ 中的模块,这很奇怪。

我尝试删除 node_modulespackage.json,然后删除 npm i,但这并没有改变情况。

我还尝试了另一种方式来使用@babel/polyfill描述here .

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

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

最佳答案

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

  resolve: {
    extensions: [
      '.ts',
      '.js' // add this
    ]
  }

关于javascript - webpack 和 babel-polyfill : Can't resolve 'core-js/modules/es6.array.map' in source directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54869212/

相关文章:

javascript - 如何检查ApolloError是否是由客户端网络连接引起的?

angularjs - 使用 Google 表格从 sql 数据创建一个 .xlsx 文件

javascript - Angular 路由解析 - deferred.reject 不起作用 - Angular 1 + TypeScript

AngularFire - 将两个具有相同 pushId 项目的 FireStore 集合组合起来

javascript - 使用 Javascript 从 DOM 收集详细信息以添加到数组

javascript - HTML5 Canvas 最先进的 Javascript 3D 库是什么

node.js - CI Runner - 使用 G++ 4.8 进行 npm 安装步骤

node.js - Typescript 意外的 token 导入摩卡

Reactjs,Typescript - 子组件上不存在属性

javascript - AJAX 聊天应用程序的刷新率