将Angular2应用程序导入Phoenix-framework

时间:2015-12-31 13:08:02

标签: node.js npm integration angular phoenix-framework

我目前正在开展两个相关项目。一个是基于Phoenix的网站和API,另一个是Angular2应用程序,其中包括使用Phoenix提供的API。我现在想要凤凰项目使用Angular2应用程序。问题是我不知道最好的方法是什么。我是Angular2和NPM的新手,对基本用法之外的实际工作知之甚少。这些是我能想到解决问题的方法:

  1. 将Angular2项目放入Phoenix项目,使其成为一个项目。我不知道如何做到这一点,但我可能会通过试验和错误来实现,因为它们都使用Node.js所以它应该是可行的。

  2. 将Angular2项目发布到NPM,然后将其导入Phoenix项目。菲尼克斯方面需要做多少工作?它是否与在Angular2项目中运行index.html相同?我需要某种Angular2" shell"围绕它?

  3. 运行Angular2应用程序,只需通过凤凰网站链接即可。

  4. 将其作为节点模块导入听起来像是最好的方法,但是它可以用于完整的应用程序,还是仅用于支持库?

2 个答案:

答案 0 :(得分:1)

我不确定这是否是"对"这样做的方法,但这是我最后所做的:

我将整个Angular2项目编译成了app.js,vendor.js和common.js,然后我把它全部移到了web / assets /。之后我只是创建了一个新的html并引用了相关文件。

最大的挑战是找到一些东西将它们全部编译成这3个文件。我最终使用的是精简版:https://github.com/AngularClass/angular2-webpack-starter

答案 1 :(得分:0)

我想你会想要利用broenix.io,它附带凤凰来处理你的前端依赖。有骨架本质上是创建不同前端配置的模板,但我没有看到提供angular2的骨架。在这种情况下,我会说使用bower来安装你想要的js包,即:

subjectAllocationEdit: function (Restangular, $stateParams ) {
                                return Restangular.one('subjectAllocationEdit', $stateParams.classId).get();
                            }

有了这个,您可以使用早午餐作为处理管道,它将处理缩小,linting等。您仍将使用“推荐”的方法来管理凤凰城的前端资产。