Rails 升级到 Angular 2

2024-01-05

我想升级现有的 Rails 和 Angular 1.x 应用程序。我正在关注 ng-upgrade文档 https://angular.io/docs/ts/latest/guide/upgrade.html并看到有很多依赖项,包括systemjs https://github.com/systemjs/systemjs, 打字稿 http://www.typescriptlang.org/, tsd http://definitelytyped.org/tsd/以及其他一些 JavaScript 库。理想情况下,会有一个 angular-2 gem 具有所有依赖项,但我找不到它。接下来,我为每个依赖项查找 gem,但没有找到 tsd 的 gem。

切换到自定义构建策略是否有意义,以便我可以使用 npm 进行 javascript 包管理?我读this http://blog.arkency.com/2015/03/gulp-modern-approach-to-asset-pipeline-for-rails-developers/推荐 gulp 的文章,但我确实喜欢资产管道的便利性。

谁能给我指出在 Rails 项目中成功使用 ng-upgrade 的示例吗?它使用像 gulp 这样的自定义构建解决方案还是使用资产管道?


我的主要建议是不要升级到 Angular2,它仍在大量开发中,您将面临很多此类问题,例如找不到 Rails 的 gem。

无论如何,目前,Angular2不能用链轮编译(默认的 Rails 管道),所以你真的want定制解决方案。

我的主要建议是使用 webpack,其他选项是 browserify 或 gulp (以及其他),这主要是个人喜好问题。总的来说,为 angular2 配置管道很复杂,你必须照顾.d.ts文件通过typings(这是更新版本tsd现在已弃用),您必须通过以下方式转译您的打字稿tsc并且可能通过babel如果你想使用 async/await (这真的很酷)。您将失去在 Rails 中引用文件的能力,例如image_path诸如此类,使用自定义管道,因此您也需要考虑到这一点。

Typescript 的编译比简单的 CoffeeScript 文件要复杂得多,您依赖于它引用的每个其他文件,因为它需要对其进行编译检查,不要期望有简单的事情。

话虽这么说,如果你真的想使用 Rails 和 Angular(或者不是 2),正确的处理方法是两个独立的项目,一种仅包含 Rails 应用程序,另一种包含 AngularJS 路径。通过这种方式,您可以分离关注点,您可以为 Angular2 建立一个自定义管道,而不会影响 Rails,并且您将被迫使用 Rails 作为 JSON API 来正确编码您的 Angular2 应用程序,正如您应该做的那样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 升级到 Angular 2 的相关文章

随机推荐

  • 将输入整数写入单元格

    我自己正在编写一个快速应用程序 第一个项目 但是我试图找到用于将输入字符串的结果写入 Excel 中的命名单元格的 VBA 代码 例如 输入框询问问题 您想将哪个工作编号添加到列表中 然后用户将输入参考编号 例如 FX1234356 然后
  • 找到方程的数学算法

    我刚刚在 math stackexchange 上发布了一个数学问题 但我会向这里的人们询问一个以编程方式递归的算法 问题 填入从 1 到 9 的空白数字 每个空白一次且仅一次 以完成方程 附加条件 1 Mathematic priorit
  • 使用jquery按需加载tinymce

    这是我的脚本 ajaxSetup async false getScript http www mydomain com dev js tinymce tiny mce js function tinyMCE init document b
  • 在亚马逊s3 boto存储桶中设置特定权限

    我有一个名为 ben bucket 的存储桶 该存储桶内有多个文件 我希望能够为每个文件 URL 设置权限 我不太确定 但我假设我是否想要存储桶内每个文件的 URL 我的网址会是这样吗 https ben bucket s3 amazona
  • PyMC3 中的简单动态模型

    我正在尝试在 PyMC3 中构建一个动态系统模型 以推断两个参数 该模型是流行病学中常用的基本SIR dS dt r0 g S I dI dt g I r S 1 其中 r0 和 g 是要推断的参数 到目前为止 我根本无法走得太远 我见过的
  • opencv物体轮廓角点检测

    I have images of a smelting cube forming into a droplet over time So far i extracted the contour of it but next i d need
  • ASP.NET Core 3.0 Razor Pages 中的路由本地化

    我想在 ASP NET Core 3 0 Razor Pages 应用程序中使用路由本地化 https stackoverflow com a 52976625 107718 https stackoverflow com a 529766
  • 使 JPA EntityManager 会话失效

    我正在开发的一个项目使用 Spring 2 5 和 JPA 并以 Hibernate 作为提供程序 我的 DAO 类扩展了 JpaDaoSupport 因此我使用 getJpaTemplate 方法获取 JpaTemplate 后端数据库可
  • 在VB6中编译DLL时出现“加载DLL时出错”

    我有一个使用引用的 Visual Basic 6 dll 项目 当单击 文件 gt 生成 dll 选项时 它应该生成一个 dll 文件 好吧 当单击 文件 gt 生成 dll 时 我收到错误 加载 DLL 时出错 如何查看缺少哪些参考文献
  • 由 twine python 发布的包未出现在存储库中

    我正在尝试将我的 python 包发布到私有存储库 我是按照官方指南来的https packaging python org en latest tutorials packaging projects https packaging py
  • 如何在已被 Rails 转义的正则表达式中转义 \\ ?

    我试图将正则表达式存储在数据库中 但它们被 Rails 转义了 例如 w s s变成 w s s在数据库中以及检索时 我插入尝试将它们与 mystring sub regex variable 一起使用 但转义的正则表达式未按预期匹配 解决
  • Mongodb:如何检查点是否包含在多边形中?

    我有一个点数组 纬度 经度 中某个区域的点列表 我已经在这些数组上创建了一个索引 现在我想知道一个点是否在该多边形内部 MongoDB 可以吗 我已经尝试过这些命令但没有运气 gt polygonA 48 780809 2 307129 4
  • 具有左右标签的 UITableViewCell 的最佳方法

    我的应用程序有多个可选择的设置 例如枚举值 我想复制 iOS 的声音设置表视图单元格 其中名称位于左侧 所选值位于右侧 后面是公开指示器 gt 到目前为止 我的方法是创建一个自定义表格视图单元格 xib和定制UITableViewCell类
  • 如何使用 jQuery 或纯 JS 重置所有复选框?

    如何使用 jQuery 或纯 JS 重置文档中的所有复选框 如果您的意思是如何从所有复选框中删除 选中 状态 input checkbox removeAttr checked
  • 有没有适用于Python3的工作内存分析器[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Python 2 中有一些工具 但一切似乎都已经过时了 我找到了 PySizer 和 Heapy 但一
  • 使用 LINQ 查找数组中的最小和最大日期?

    我有一系列带有属性的类Date i e class Record public DateTime Date get private set void Summarize Record arr foreach var r in arr do
  • 多少个线程太多了?

    我正在编写一个服务器 当收到请求时 我将每个操作发送到一个单独的线程中 我这样做是因为几乎每个请求都会进行数据库查询 我正在使用线程池库来减少线程的构造 销毁 我的问题是 对于这样的 I O 线程来说 什么是一个好的截止点 我知道这只是一个
  • 使用新标签页替换插件打开新标签时,如何保持地址栏清晰?

    我正在为 Firefox 开发一个新的标签页替换插件 安装后 当我单击新选项卡图标打开新选项卡时 新选项卡打开正常 但地址栏显示混乱的 URL 资源 firefox p at getblog dot com getblog buttons
  • 使用字典更新 pandas DataFrame 行

    我在 pandas DataFrames 中发现了我不理解的行为 df pd DataFrame np random randint 1 10 3 3 index one one two columns col1 col2 col3 new
  • Rails 升级到 Angular 2

    我想升级现有的 Rails 和 Angular 1 x 应用程序 我正在关注 ng upgrade文档 https angular io docs ts latest guide upgrade html并看到有很多依赖项 包括system