You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TypeScript 5的bundler模块解析时Webpack加载配置失败

解决Webpack加载TypeScript配置文件时的"ERR_UNKNOWN_FILE_EXTENSION"错误

问题场景

当前使用typescript@5.0.2、webpack-cli@5.0.1、webpack@5.76.2,已在package.json中设置"type": "module",tsconfig.json启用了TypeScript 5新增的"bundler"模块解析策略:

{
  "target": "ESNext",
  "module": "ESNext",
  "moduleResolution": "bundler"
}

执行构建命令webpack --config ./webpack/webpack.config.prod.ts时,出现以下错误:

[webpack-cli] Failed to load '/myProject/webpack/webpack.config.prod.ts' config
[webpack-cli] TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /myProject/webpack/webpack.config.prod.ts

解决方法

1. 安装必要依赖

Node.js的ESM模式默认不支持直接加载.ts文件,需要ts-node处理TypeScript配置文件的编译加载,执行以下命令安装依赖:

npm install --save-dev ts-node @types/node @types/webpack

2. 配置专属的TypeScript配置文件(可选但推荐)

在webpack目录下创建tsconfig.webpack.json,避免和项目主tsconfig冲突:

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "strict": true,
    "moduleDetection": "force",
    "resolveJsonModule": true
  },
  "include": ["./webpack.config.prod.ts"]
}

3. 修改构建命令

通过ts-node预编译配置文件后再运行webpack-cli,可直接执行:

npx ts-node --project ./webpack/tsconfig.webpack.json node_modules/webpack-cli/bin/cli.js --config ./webpack/webpack.config.prod.ts

也可以在package.json的scripts中添加快捷命令:

{
  "scripts": {
    "build": "ts-node --project ./webpack/tsconfig.webpack.json node_modules/webpack-cli/bin/cli.js --config ./webpack/webpack.config.prod.ts"
  }
}

之后直接执行npm run build即可完成构建。

4. 替代方案:改用JavaScript配置文件

如果不想额外安装依赖,可将webpack.config.prod.ts改为webpack.config.prod.js,通过JSDoc实现类型提示:

/** @type {import('webpack').Configuration} */
export default {
  // 你的Webpack配置内容
}

原因说明

由于package.json设置了"type": "module",Node.js会以ESM模式处理所有文件,但ESM本身不识别.ts扩展名,Webpack-cli也无法直接编译TypeScript配置文件,因此需要ts-node预先编译.ts配置文件,让Node.js能够正确加载解析。

内容的提问来源于stack exchange,提问作者Raul Albiol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 02:55:16