繁体   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