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

Node.js报错ERR_IMPORT_ASSERTION_TYPE_MISSING:导入tsconfig.json需JSON类型断言

解决方法

1. 修正tsconfig.json的插件配置错误

你当前tsconfig.json里的compilerOptions.plugins字段配置了Rollup插件,这是误用——该字段是给TypeScript语言服务插件(如语法检查类插件)预留的,并非Rollup构建插件的配置位置。需要移除这部分内容:

修改后的tsconfig.json:

{
    "extends": "../../tsconfig.json",
    "include": [
        "**/*.ts"
    ],
    "exclude": [
        "node_modules", 
        "build"
    ],
    "compilerOptions": {
        "baseUrl": ".",
        "rootDir": ".",
        "outDir": "build/",
        // 显式声明确保resolveJsonModule配置生效(可选但更稳妥)
        "resolveJsonModule": true,
        // 若使用TypeScript 4.7+,建议设置为Node16/NodeNext对齐Node.js ESM行为
        "moduleResolution": "Node16"
    }
}

2. 在Rollup配置文件中正确加载插件

Rollup插件需要配置在项目的rollup.config.js(或.ts)文件内,示例配置如下:

import typescript from '@rollup/plugin-typescript';
import json from '@rollup/plugin-json';

export default {
  input: 'src/index.ts', // 替换为你的项目入口文件路径
  output: {
    dir: 'build',
    format: 'es' // 根据需求选择输出格式,如cjs、umd等
  },
  plugins: [
    typescript({
      tsconfig: './src/core/tsconfig.json' // 指定当前子目录的tsconfig路径
    }),
    json()
  ]
};

3. 验证模块模式配置

  • 如果项目使用ESM模式,确保package.json中设置了"type": "module";
  • 若使用CommonJS模式,将Rollup输出格式设为cjs,可避免Node.js对import assertion的强制要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 03:50:44