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

Next.js应用导入node_modules内.ts类型文件编译报错该如何解决?

问题原因

Next.js 默认的Webpack编译规则会排除全部node_modules路径下的文件,你在tsconfig.json中添加的include配置仅作用于TypeScript类型检查阶段,不会修改Webpack的编译范围,因此node_modules/.workspace下的TS文件包含的interface等TS专属语法未被编译,直接抛出解析错误。

解决方案

方案1:Next.js 13.1及以上版本(推荐)

直接在next.config.js中添加transpilePackages配置,指定需要额外编译的node_modules模块即可:

const { i18n } = require('./next-i18next.config');

module.exports = {
  i18n,
  transpilePackages: ['.workspace']
};

方案2:Next.js 13.1以下版本

需要借助第三方包next-transpile-modules实现相同效果:

  1. 安装依赖
npm install next-transpile-modules --save-dev
  1. 修改next.config.js配置
const withTM = require('next-transpile-modules')(['.workspace']);
const { i18n } = require('./next-i18next.config');

module.exports = withTM({
  i18n
});
可选优化检查
  • 检查导出路径:你当前DTOs文件中的导出语句export * from '.workspace/dtos';,如果是同级目录引用建议补全相对路径前缀,改为export * from './.workspace/dtos';避免路径解析异常
  • 如果.workspace下还有其他TS文件依赖,可以将tsconfig.json的include规则调整为"node_modules/.workspace/**/*.ts",覆盖所有相关TS文件避免类型报错

内容的提问来源于stack exchange,提问作者Alexander Emelyanov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:39:00