作为一个学校项目,我正在制作一个多平台应用程序。我决定使用JavaScript。我认为最好在Ionic2中使用MVVM模式,其中VM是Ionic的Angular2部分,我将拥有两个视图。一个用于移动设备(Ionic的html / css部分),另一个用于桌面电子设备。我有一个问题。在基本的Ionic项目中,“视图”和“角度”部分紧密耦合,我的意思是它们位于同一目录中,无法轻松更改HTML。
我认为很棒(尽管也欢迎使用其他解决方案)是拥有一个“ ionic”文件夹和一个“ desktop”文件夹,它们的结构相同,文件名相同。当使用Ionic构建用于移动设备的应用程序时,我希望将src文件夹中的所有文件都复制到dist /文件夹中,并将src / ionic的html,css文件复制到它们的位置,就像在常规ionic项目中一样(唯一的区别是,它将位于dist /文件夹下,而不是src /下,因此我必须使www / index.html也包含这些内容,而不是通常在src /中包含的内容)。在为桌面构建时,我只是以相同的方式复制所有内容,但从src / desktop而不是src / ionic复制。
这样,我可以将我的业务逻辑包含在“普通的” Angular2中,并且可以重复使用,从而为台式机和移动设备创建应用程序。
所以我的问题是我可以以某种方式修改Ionic的构建过程,以允许我这样做吗?我可以创建自己的gulp或grunt文件吗?还是webpack?怎么做?
最后,我编写了自己的gulp文件,将文件复制到src / .tmp /中,在复制任务准备好之后,我调用了ionic用来提供服务的原始脚本,构建了项目。我可以用这种方法解决所有问题。
在服务任务中,gulp监视src /文件(不包括src / .tmp)中的更改,并将更改的文件复制到src / .tmp文件夹中。离子观察并在每次发生变化时对其进行重建。
我很幸运,因为ionic建立在有角的顶部,所以ionic使用的构建器工具集与普通的有角项目100%兼容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句