Javascript AngularJS+;类型脚本:未捕获类型错误:无法读取属性';模块';未定义的

Javascript AngularJS+;类型脚本:未捕获类型错误:无法读取属性';模块';未定义的,javascript,angularjs,typescript,webpack,es6-module-loader,Javascript,Angularjs,Typescript,Webpack,Es6 Module Loader,我正在尝试在AngularJS 1.x应用程序中使用TypeScript 我的应用程序已经使用Webpack作为模块加载器,因此我将其配置为处理TypeScript编译(将所有*.js源文件重命名为*.ts后),并设法使其工作。因此,它编译时不会出错,并生成我的JavaScript输出文件 唯一的问题是,当我在浏览器上运行应用程序时,它不起作用,我得到以下控制台错误: 未捕获的TypeError:无法读取未定义的属性“module” 以及: 未捕获错误:[$injector:modulerr]未

我正在尝试在AngularJS 1.x应用程序中使用TypeScript

我的应用程序已经使用Webpack作为模块加载器,因此我将其配置为处理TypeScript编译(将所有*.js源文件重命名为*.ts后),并设法使其工作。因此,它编译时不会出错,并生成我的JavaScript输出文件

唯一的问题是,当我在浏览器上运行应用程序时,它不起作用,我得到以下控制台错误:

未捕获的TypeError:无法读取未定义的属性“module”

以及:

未捕获错误:[$injector:modulerr]未能实例化模块myModuleName,原因是: 错误:[$injector:nomod]模块“myModuleName”不可用!您要么拼错了模块名,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数

我的猜测是,由于某种原因,对象
angular
为空,当我尝试访问
angular.module
时,它会抱怨

我不明白为什么会这样,因为当我使用
从“angular/angular”导入angular时在它成功编译的代码中

完整的源代码是可用的

网页包输出:

Hash:824157db8ed6acf47fc1
版本:网页2.2.1
时间:2242ms
资产大小块块名称
Otherlo-bundle.js 1.27 MB 0[发射][大]应用程序
Otherlo-bundle.js.map 1.51 MB 0[已发射]应用程序
[0]./~/angular/angular.js 1.24 MB{0}[内置]
[5] ./app/services/othello_AI.ts 8.65kb{0}[已建]
[6] ./app/services/othello_handler.ts 9.3kb{0}[内置]
[7] ./app/index.ts 723字节{0}[编译]
+4隐藏模块

我终于找到了解决方案

使用TypeScript时,需要使用以下方式导入AngularJS:

import*作为“angular”的角度

问题是我仍在导入它,就像我在es6中所做的那样:


从“角度”导入角度

您的角度版本是什么?我在package.json或bower.jsonit中没有看到angular,正如你在我的package.json中看到的那样,它是1.6。json:我的错,你检查了加载时的脚本顺序,还是同时加载angular和angular.min?@DMCISSOKHO我刚刚更新了我的问题,包括网页包buildAngularJs的输出应该首先包括在内