首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails升级到angular 2

Rails升级到angular 2
EN

Stack Overflow用户
提问于 2015-12-30 10:54:24
回答 4查看 3.9K关注 0票数 38

我想升级我现有的Rails和Angular 1.x应用程序。我正在关注ng-upgrade documentation,发现其中有许多依赖项,包括systemjstypescripttsd和其他一些javascript库。理想情况下,应该有一个angular-2 gem,它具有所有的依赖项,但我找不到它。接下来,我为每个依赖项寻找gem,但没有一个用于tsd。

切换到自定义构建策略以便我可以使用npm进行javascript包管理有意义吗?我读过this上推荐gulp的文章,但我确实喜欢资产管道的便利性。

有没有人能给我举一些在rails项目中成功使用ng-upgrade的例子?它是使用像gulp这样的自定义构建解决方案,还是使用资产管道?

EN

回答 4

Stack Overflow用户

发布于 2016-02-10 08:45:01

我的主要建议是还没有升级到Angular2,它仍然在大量的开发中,你会面临很多这样的问题,比如找不到适合rails的宝石。

不管怎么说,目前angular2 不能用链轮(默认的rails管道)编译,所以你真的想要一个定制的解决方案。

我的主要建议是选择webpack,其他的选择是煎饼或大口的(以及其他的),这主要是一个口味问题。总而言之,为angular2 配置一个管道是很复杂的,你必须通过typings (这是tsd的更新版本,现在已经被弃用)来处理.d.ts文件,如果你想使用async/await (这真的很酷),你必须通过tsc或者可能通过babel来转换你的打字脚本。您将失去使用自定义管道在image_path等rails中引用文件的能力,因此您也需要考虑到这一点。

Typescript的编译比简单的coffeescript文件复杂得多,你依赖于它引用的每个其他文件,因为它需要编译检查,不要期望简单的东西。

也就是说,如果你真的想使用Rails和Angular (2或更少),处理它的正确方法是让两个独立的项目,一个只包含Rails应用程序,另一个包含AngularJS路径。通过这种方式,您可以在不影响Rails的情况下为Angular2创建自定义管道,并强制您使用Rails作为JSON API来正确编写Angular2应用程序。

票数 10
EN

Stack Overflow用户

发布于 2016-04-22 02:15:47

我的解决方案是在不使用webpack或资产管道的情况下尽可能保持简单。我将ts文件放在public中,并配置rails通过管道为npm资产提供服务。

我以此结构为例创建了一个入门项目:https://github.com/jonnysamps/rails-ng2-starter

在许多方面,它的好处是拥有单独的后端/前端项目,但将所有代码放在一起。

票数 0
EN

Stack Overflow用户

发布于 2016-01-04 20:28:29

使用angularjs gem

代码语言:javascript
复制
gem 'angularjs-rails', '~> 1.4', '>= 1.4.8'

在application.js中插入

代码语言:javascript
复制
  //= require angular
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34522294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档