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

AngularJS1.5中import angular报TS2307找不到模块问题咨询

当前使用的技术栈版本
  • AngularJS - 1.5
  • TypeScript - 1.8.10
  • WebPack - 1.15.0
tsconfig.json配置内容
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "sourceMap": true
  },
  "exclude": [
    "node_modules",
    "typings",
    "dist"
  ],
  
  "compileOnSave": false,
  "buildOnSave": false,
  "atom": { "rewriteTsconfig": false }
}
构建报错信息

执行npm run build构建命令时,出现如下报错:

ERROR in ./src/main/frontend/app/leftmenu/index.ts
(1,21): error TS2307: Cannot find module 'angular'.

index.ts文件内容
import {angular} from 'angular';
import {MenuService} from './menuService';
import {LeftMenuController} from './leftmenu';


angular.module('tat')
.service('MenuService', MenuService)
.component('leftMenu',{
          template : require('./leftmenu.html'),
           controller : LeftMenuController,
           controllerAs : 'lm'
       });

备注:angular模块已经安装在项目的node_modules目录中。

咨询诉求

如何配置才能让index.ts文件正确识别angular模块?


解决方案

报错由两个问题共同导致,按顺序修改即可:

  • 修正angular的导入写法
    AngularJS 1.x的npm包不存在名为angular的命名导出,当前使用的import {angular} from 'angular'写法不符合包的导出规则,将index.ts首行代码替换为:
    import * as angular from 'angular';
    
  • 补全AngularJS对应的TypeScript类型声明
    仅安装angular的npm包不足以让TypeScript识别模块,还需要安装对应的类型描述文件。你当前使用的TypeScript 1.8版本配套typings工具管理类型声明,依次执行以下两条命令完成安装:
    npm install typings -g
    typings install dt~angular --global --save
    
    安装完成后项目根目录会自动生成typings目录及对应配置,不需要额外修改tsconfig.json,重新执行npm run build即可正常编译。如果后续将TypeScript升级到2.0及以上版本,可直接执行npm install @types/angular -D安装类型声明,无需依赖typings工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:57:16