簡體   English   中英

Asp Core +Angular 4 +VS 2017,從 webpack 模板轉移到別的東西

[英]Asp Core +Angular 4 +VS 2017,moving from webpack template to something else

我正在嘗試將 Angular 4 + ASP Web Api 5 遷移到 ASP Core。 我使用了 VS 2017 Angular 4 模板並添加了其余代碼。

舊的應用程序使用systemjs.config.js ,新模板使用 webpack 但使用新模板我遇到了很多問題:

jQuery 插件無法正常工作(以前可以工作)
在部署時,我在角度庫上遇到了新錯誤(以前工作)

我的問題是:

除了 webpack,我可以使用其他 Angular 4 集成與 Asp Core Web Api+ VS 2017 嗎?

發生這種情況的原因是 webpack 將 jQuery(或任何庫/腳本)包裝在模塊中的方式。 這意味着默認情況下,像 window.$ 這樣的東西在 Webpack 中將不可用,因為 $ 變量被限定在特定模塊內。 如果您在輸出的代碼中搜索 jQuery,您可以看到這一點,它將被包裹在一些奇怪的東西中(即 commonjs 或 es6 模塊等)。

要解決這個問題,您必須在 webpack(或 shim)中使用 script-loader,這將允許您在全局上下文中加載腳本。 除非你真的需要,否則你不應該這樣做。 正如其他人所提到的,通常將 jQuery 與 Angular 一起使用是不明智的,因為您應該盡量避免使用 Angular 抓取 DOM(這就是為什么您可能會選擇 Angular 作為開始的庫)。 如果通過 DOM 引用項目,Angular 的擴展(例如 AOT 編譯)可能會中斷。

請參閱此處: https : //webpack.js.org/guides/shimming/#other-utilities和此處: https : //github.com/webpack-contrib/script-loader

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM