【发布时间】:2017-04-20 14:38:17
【问题描述】:
我正在使用 VS 2017 和 Angular 2 + asp.netcore 模板开发一个项目。默认项目运行良好,但是当我在 app.module.ts 中导入 ReactiveFormsModule 时;它抛出错误
预渲染因错误而失败:TypeError: _angular_core.InjectionToken is not a constructor
根据堆栈跟踪,错误在 ..\ClientApp\dist\main-server.js 文件中。
我已将项目从 Angular 2.4 升级到 Angular 4.0。我无法理解为什么导入会引发这样的错误。
【问题讨论】:
-
发生错误的原因是,在我导入 ReactiveFormsModule 后,main-server.js 文件中添加了以下代码行:
var NG_VALIDATORS = new _angular_core.InjectionToken('NgValidators');我在这里遗漏了什么吗? -
您找到解决问题的方法了吗?我面临着完全相同的问题,我不知道如何解决它。
-
我本身没有找到解决方案。但我所做的是,而不是使用 Visual Studio 中的模板;我创建了一个独立的 Angular 项目(它使未来的升级更容易)和另一个 Web API 项目。与 Visual Studio 的 Angular 模板相比,它是一种更加模块化和更好的工作方法。然后将您的 Angular 编译文件夹重定向到您的 .net 核心项目文件夹,这样您就可以在一个项目中拥有所有部署文件并仅部署 .net 核心项目,您就可以开始了。
-
是的,我认为这是一个更好的主意,感谢您的反馈
标签: angular visual-studio-2017 asp.net-core-1.0