【发布时间】:2017-10-30 18:31:15
【问题描述】:
我正在尝试将 Angular 4 + ASP Web Api 5 迁移到 ASP Core。我使用了 VS 2017 Angular 4 模板并添加了其余代码。
旧应用使用systemjs.config.js,新模板使用webpack,但使用新模板我遇到了很多问题:
jQuery 插件不能正常工作(以前工作)
在部署时,我在 Angular 库上遇到了新错误(以前可以正常工作)
我的问题是:
除了 webpack,我可以使用其他 Angular 4 与 Asp Core Web Api+ VS 2017 的集成吗?
【问题讨论】:
-
我个人不会将 jQuery 与 Angular 一起使用,因为 Angular4 可以完全取代它。但对我来说,这听起来你没有正确地将 jquery 嵌入到你的
webpack.config.vendor.js中(也许发布它的相关部分?)。另请注意,默认模板启用服务器端呈现(Indes.cshtml 或 _Layout.cshtml 中的asp-prerender-module="ClientApp/dist/app.module.server.ts")。当您删除它时,该页面将不会在服务器上呈现。通常使用服务器端渲染,您无法访问会话存储或window.document或来自window对象的任何其他内容 -
当启用服务器端渲染并且大部分 jQuery 依赖它时,这会导致 angular/node/javascript 应用程序失败。另请参阅this issue上的 cmets
-
Hi.jQuery 不需要,但我想使用需要 jQuery 的插件。我为我的问题打开了帖子:stackoverflow.com/questions/47013168/… 或 stackoverflow.com/questions/46977802/… 或 stackoverflow.com/questions/47020549/… 谢谢
-
这正是我告诉你的。这是因为预渲染。在您的服务器上执行 javascript 代码时,没有
window实例。它只存在,wenn 代码在浏览器中运行。如果你需要这样的代码,你必须disable preredndering -
在此处查看并阅读我的 cmets(或链接问题中的答案)
标签: javascript angular webpack asp.net-core visual-studio-2017