【问题标题】:webpack/typescript error "Invalid configuration object ... - configuration.resolve.extensions[0]"webpack/typescript 错误“无效的配置对象 ... - configuration.resolve.extensions[0]”
【发布时间】:2017-05-10 11:01:34
【问题描述】:

我关注this tutorial,然后关注this tutorial,因为我正在尝试将 webpack 与 typescript 一起使用。在我完成第一个教程(webpack w/out typescript)后,一切都运行良好。

但是,一旦我按照第二个教程运行npm run build,我就会收到此错误:

配置对象无效。 Webpack 已使用与 API 模式不匹配的配置对象进行初始化。 - configuration.resolve.extensions[0] 不能为空。

我无法在任何地方找到解决方案。

这是我的 webpack.config.js 文件:

module.exports = {
  entry: './main.ts',
  output: {
    filename: './bundle.js'
  },
  resolve: {
    extensions: ['', '.ts']
  },
  module: {
    loaders: [
      { test: /.ts$/, loader: 'awesome-typescript-loader' }
    ]
  }
};

有什么帮助吗?

【问题讨论】:

    标签: typescript webpack


    【解决方案1】:

    最新版本的 webpack 不允许像你一样将空字符串传递给 module.resolve.extensions 数组,只需删除空字符串或用你想要支持的扩展替换它

    module.exports = {
      entry: './main.ts',
      output: {
        filename: './bundle.js'
      },
      resolve: {
        extensions: ['.ts'] // don't specify the empty string, add '.js' if you want to import plain javascript files into typescript 
      },
      module: {
        loaders: [ // should use 'rules' instead of 'loaders', 'loaders' is retained for backward compatability only
          { test: /.ts$/, loader: 'awesome-typescript-loader' }
        ]
      }
    };
    

    【讨论】:

    • 在看到您的回答之前,我才想通了这一点。我会尽快将此标记为正确答案。谢谢
    • 另外,module.loaders 是遗留字段,它应该是 module.rules 而不是最新版本
    • @krummens 我确实做到了
    • 抱歉。没看到那个。谢谢。
    • 你知道为什么 webpack 示例一开始传入的是空字符串吗?
    猜你喜欢
    • 2018-05-26
    • 2017-09-27
    • 2021-04-10
    • 2020-05-28
    • 2021-07-22
    • 2022-01-12
    • 2017-08-20
    • 2018-08-16
    • 2019-11-01
    相关资源
    最近更新 更多