【发布时间】:2018-01-08 05:14:01
【问题描述】:
我有一个带有 AngularJS 1.6.5 和 NancyFX 服务器的 Visual Studio Community 2017 (15.2) 项目。
代码在这里:
https://github.com/GusBeare/NancyAngularTests
这是我学习和测试我想在实际项目中使用的功能的游乐场。
所有 AngularJS 的东西都在 Typescript 文件中,我的 tsconfig.json 告诉编译器将它们全部编译成一个 JS 文件 Content/js/bundle.js。
当我构建和运行项目时,一切都按预期工作,没有任何问题。但是,如果我在应用程序运行时编辑 .ts 文件,则会出现以下错误:
angular.min.js:7 Uncaught Error: [$injector:nomod]
http://errors.angularjs.org/1.6.5/$injector/nomod?p0=mySPA
保存时编译似乎工作正常,因为Content/js/bundle.js 是在保存时重建的。但是为什么我只在保存时编译时出现 Angular 错误?
我是在 AngularJS 代码中做错了什么,还是这是 Typescript/Visual Studio 的问题?
如果我构建和发布项目,它在 IIS 下运行良好,我无法破坏它。
【问题讨论】:
-
我相信这与捆绑到 bundle.js 中的代码的顺序有关。当我在 VS 中构建项目时,会遵守 tsconfig.json 中的文件顺序。但是,当我运行项目并编辑 + 保存 .ts 文件并将“compileonSave”选项设置为 true 时,捆绑代码的顺序更改为其他破坏它的顺序。
-
如果有时间我会尝试不同的捆绑方式。
标签: javascript angularjs visual-studio typescript tsc