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

Angular中TypeScript示例报TS2306错误:model.ts非模块如何解决?

解决TypeScript模块导入TS2306错误的方法

TS2306错误的核心原因是:仅定义变量的TypeScript文件默认不被视为模块,TypeScript要求文件必须包含导出语句,才能被其他文件导入。修改tsconfig.json的strict或noImplicitAny配置无法解决这个问题,因为这属于模块规范范畴,和类型检查严格程度无关。

解决方法很直接,给model.ts中的变量添加导出声明即可,具体有几种方式:

  • 单个变量导出:在变量前直接加export关键字

    // model.ts
    export const userInfo = { name: 'Alice', age: 25 };
    export const appVersion = '1.0.0';
    

    导入时对应使用:

    // app.component.ts
    import { userInfo, appVersion } from '../src/app/model';
    
  • 批量导出:先定义变量,再统一导出

    // model.ts
    const userInfo = { name: 'Alice', age: 25 };
    const appVersion = '1.0.0';
    
    export { userInfo, appVersion };
    
  • 默认导出:如果文件主要导出一个核心变量,可用export default

    // model.ts
    const userInfo = { name: 'Alice', age: 25 };
    export default userInfo;
    

    导入时无需解构:

    // app.component.ts
    import userInfo from '../src/app/model';
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 17:39:33