Javascript 共享Angular 2应用程序,web/mobile web/Ionic 2

Javascript 共享Angular 2应用程序,web/mobile web/Ionic 2,javascript,web-applications,angular,cross-platform,ionic2,Javascript,Web Applications,Angular,Cross Platform,Ionic2,我似乎找不到在所有平台上使用相同的angular 2代码的答案,就像angular 2在他们的网站上推广一样。如果我有一个现有的网站(基本上只有node.js服务器和Angular 2),我怎么能合并ionic 2而不必保留一个单独的ionic应用程序呢?或者反之亦然(我需要成为一个web应用程序的ionic应用程序) 有各种各样的答案,比如复制ionic应用程序的www文件夹,但我不认为这是一个最佳实践答案,因为你不能100%地重用这些代码。这似乎违背了跨平台的观点,即用大量相同的代码维护两个

我似乎找不到在所有平台上使用相同的angular 2代码的答案,就像angular 2在他们的网站上推广一样。如果我有一个现有的网站(基本上只有node.js服务器和Angular 2),我怎么能合并ionic 2而不必保留一个单独的ionic应用程序呢?或者反之亦然(我需要成为一个web应用程序的ionic应用程序)

有各种各样的答案,比如复制ionic应用程序的www文件夹,但我不认为这是一个最佳实践答案,因为你不能100%地重用这些代码。这似乎违背了跨平台的观点,即用大量相同的代码维护两个完全独立的代码库

这似乎与跨平台维持两个目标的观点背道而驰 使用大量相同的代码完全分离代码库

您可以使用完全相同的代码,并通过使用以下命令决定布局的显示方式:

使用底层的
平台
信息,只要执行以下操作,您就可以显示或隐藏内容(无论是
核心
平台(web应用程序)还是非核心平台(移动应用程序):

this.isWebapp = this.platform.is('core');
然后使用
*ngIf
或应用程序中需要的任何东西

关于风格:

Ionic2使用模式自定义组件的外观。各站台 具有默认模式,但可以覆盖该模式

同样,你可以根据所显示的设备控制应用程序的样式。正如您所看到的,在
主体
元素中将添加一个类(
核心
如果是web应用程序,或者
ios
/
android
/
windows
如果是移动应用程序)。因此,您可以为每个平台创建自定义样式,这些样式将自动应用


因此,我认为你可以(也应该)使用相同的代码来创建手机和网络应用程序,甚至可以使该应用程序在平板电脑或phablets等其他设备上正常工作。

很酷,感谢这些信息,你是否使用这种方法来使用angular2制作网络/iOS/android应用程序?我也在研究NativeScript,并试图决定使用哪一种,爱奥尼亚并不像NativeScript那样宣称适用于所有三种情况,并开始倾向于继续使用它。我刚刚为移动设备创建了一些简单的应用程序,但现在我正在参与一个更大的项目,我们正在采用这种方法。关于你对NativeScript的看法,这两个框架都很好,你可以用它们创建很棒的应用程序,这正是你在使用框架时想要的。在我们的例子中,我们需要一个框架,让web开发人员(比如我和我的团队的其他成员)有一个不那么陡峭的学习曲线,因此Ionic2(和angular2)是我们的完美匹配。
this.isWebapp = this.platform.is('core');