簡體   English   中英

Angular/AngularJS 混合應用程序需要 AngularJS 轉換為 .ts 嗎?

[英]Is AngularJS Conversion to .ts required for Angular/AngularJS Hybrid Application?

使用 angular.io/guide/upgrade 中所述的 ng-Upgrade 方法,將 AngularJS v1.25 升級到 Angular 14。 為了讓事情變得更加陡峭,我們的應用程序的主頁是 ASP.NET MVC 5。我想將 Angular CLI 用於新的 Angular 應用程序。 在一個地方利用所有這些技術的教程或博客並不多。

目前我們的整個應用程序使用零 typescript。 大多數教程似乎表明在您遷移之前將 all.js 移動到.ts,或者只是(奇怪地)假設您的 1.x 應用程序已經在 TypeScript 中。

但是,我寧願不這樣做。 重命名所有文件並保留 git 歷史將是一項艱巨的任務。 幸運的是,我們使用了 AngularJS 樣式指南,我們的代碼大多符合。

我看到 AngularJS 應用程序必須是“混合/ngUpgrade 應用程序”,以便能夠在 Z5129F9F4810757F6F0CF735675EB054Z 中注入“降級”的 Angular 組件。 為此,您必須在應用程序模塊中提供 @angular/upgrade 模塊。

  1. 我可以將 app.js 升級到 app.ts 以便進行注入,而將其他所有內容都保留為.js 嗎?
  2. 我是否應該只在頂級項目級別導入新的@angular 內容,然后修改子目錄中的 tsconfig.json 以便它可以在../node_modules 中找到模塊?

沒有得到任何回應,但我想我會在這里為未來的讀者發布我的結果。

至於#1——一旦我弄清楚#2,我什至不必把它變成typescript。 我試圖留下它 TypeScript 但瀏覽器不喜歡在其他純“文本/javascript”類型腳本標簽中插入“模塊”類型標簽。 它似乎最后處理模塊類型,或者至少與.js 加載的順序不同步,這最終導致啟動失敗 AngularJS 因為,app.js 必須在所有模塊之前處理。 js 文件,這些文件期望模塊本身已經創建。 由於它最終創建的只是一個帶有“export”語句的 .js 文件(它會強制您使用),因此我選擇只使用 go 來使用 app.js。

#2 - 我不知道你是否“應該”,但將所有 npm 包移動到主應用程序的 package.Z466DEEC76ECDF5FCA6D38571F6324D 並不是什么大問題通過修改 angular.json 和 tsconfig.json 似乎工作得很好。

暫無
暫無

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

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