在typescript angular app中导入外部模块

时间:2015-12-01 09:29:44

标签: angularjs typescript browserify commonjs

我正在重构一个大型应用来使用commonjs而不是gazzilion脚本标签。我重构了主应用程序(入口点)导入不同应用程序模块,应用程序模块入口文件加载其控制器,服务等所有部分,我对代码感到满意。 我也使用tsconfig.json文件属性(包括带外部依赖关系的tsd.d.ts)进行参考分辨率,webstorm和vscode似乎也对代码感到满意。

到目前为止,我还没有使用任何外部模块导入。尝试使用tsc或browserify编译/捆绑我的代码会产生很多关于找不到外部模块的错误,例如。 "找不到名字' angular'"。所以我认为很好,我将在该档案中要求角度:

import * as angular from 'angular';

import {avatarModuleServices} from './services/module';
import {avatarModuleDirectives} from './directives/module';

import {AvatarProcessController} from './avatar-process-controller';
export var avatarModule = angular.module('cv.avatar', [
        avatarModuleServices.name,
        avatarModuleDirectives.name,
        'angularFileUpload'
    ])
    .controller(AvatarProcessController.className, AvatarProcessController);

然后我收到错误

  

TS2304:找不到姓名' angular'。

我认为,这可能是因为我使用bower获取角度,外部导入可能会查看node_modules目录。所以我继续通过npm安装了角度,但问题仍然存在。

此时我有什么选择将我的代码与来自npm和bower的外部依赖关系捆绑在一起?

btw我使用的是最新版本(角度1.4.8,tsc 1.7.3,浏览器化12.0.1等)

0 个答案:

没有答案