2016-07-29 37 views
4

我正在创建一个项目以创建移动应用程序版本的网站(网站已部署和服务),我们正在使用Ionic v1.7.16。“离子服务”和“离子建立浏览器”之间的区别

我的上级已经审查过我们是否可以在Ionic项目上工作,然后将其部署到网络(替换以前的Web版本),以便在移动设备和浏览器(桌面)。

我读过关于“离子浏览器平台”,经历了一些,我没有遇到过问题。

我的问题与标题相同。 “离子发球”和“离子发球浏览器”有区别吗?

我的意见:

  • 当添加“浏览器”为平台,以项目,添加科尔多瓦插件的浏览器版本,我相信防止平台之间的不一致。
  • 我面对“离子服务”和“离子浏览器”之间完全相同的界面和功能。我还使用“python -m SimpleHTTPServer”来查看/模拟如果我们部署浏览器版本将会是什么样子,并且它也与前两者相同。

离子浏览器平台仍处于测试阶段,我还没有遇到太多的来源,就像我做Ionic平台的android。关于所有类型的Ionic浏览器平台的常见问题解答/资料也很感谢。

+0

另请参阅https://github.com/ionic-team/ionic/issues/10635 –

回答

11

我正在与具有2个平台中加入(Android和浏览器)和I欣赏这个命令之间的差异我的第一Ionic2 RC1应用工作...

它产生(在我的情况下)该输出:


  1. 即成建立一个开发环境现场重装支持,没有缩小
$ ionic serve browser 

myproject_root
    | - WWW13 MB
               个    | - 资产(1.40 MB)
                    | - 建立11。5 MB
                                    | - 的main.css(729.90 KB)
                         个          | - main.js(3.50 MB
                                    | - main.js.map(7.10 MB
                                    | - polyfills.js(84.10 KB)
                    | - index.html的(1.20 KB)
                    | - 的manifest.json(313 B)
                    | - 服务worker.js(3.60 KB)


  • 生成建立一个PROD环境
  • $ ionic build browser 
    

    myproject_root
        | - WWW5.60 MB
                        | - 资产(1。40 MB)
                        | - 建立4.20 MB
                                        | - main.css的(636.70 KB)
                                        | - main.js(1.60 MB
                                        | - main.js.map(1.90 MB
                                        | - polyfills.js(84.10 KB)
                        | - index.html的(1.20 KB)
                        | - 的manifest.json(313 B)
                        | - service-worker.js(3.60 KB)

    此外,我觉得这是其他部署输出:

    myproject_root
      | - 平台
          | - 浏览器
              | - WWW5。70 MB
                  | - 资产(1.40 MB)
                  | - 建立4.20 MB
                      | - main.css的(636.70 KB)
                      | - main.js(1.50 MB
                      | - main.js.地图(1.80 MB
                   个  | - polyfills.js(84.10 KB)
                  | - 科尔多瓦-JS-SRC(9.40 KB)
                      | - confighelper .js文件(3.00 KB)
                      | - exec.js(4.70 KB)
                      | - platform.js(1.60 KB)
                  | - 插件(17.60 KB)
                      | - cordova-plugin-device(5.70 KB)
                      | - 科尔多瓦-插件-溅射屏幕(6.00 KB)
                      | - 科尔多瓦-插件-状态栏(5。10 KB)
                      | - 离子-插件键盘(643 B)
                  | - config.xml中(1.40 KB)
                  | - confighelper.js(3.00 KB)
                  | - cordova_plugins.js(2.00 KB)
                  | - cordova.js(59.00 KB)
                  | - exec.js(4.70 KB)
                  | - platform.js(1.60 KB)
                  | - index.html的(1.30 KB)
                  | - 的manifest.json(313 B)
                  | - 服务worker.js (3.60 KB)


    摘要

    我可以用不同的加载时间在我的Web服务器中部署所有这3个文件夹。

    这里是我的测试简历与停用缓存

    1. 离子服务的./www输出

      • Safari浏览器桌面10.0.1
        • 下载在12,02秒内有10个资源4,26 MB econds。
      • Chrome的桌面54.0.1
        • 下载在9,06秒3,60 MB 13级的资源。
        • Chrome的控制台显示'main.js:47628原生:尝试调用t.styleDefault,但Cordova不可用。确保包括科尔多瓦。JS或在设备/模拟器”
    2. ionic build's./www output

      • Safari的桌面运行10.0.1
        • 下载在7,08秒2,39 MB 20个资源。
      • Chrome的桌面54.0.1
        • 下载在5,47秒23个的资源1.80 MB。
        • Chrome的控制台说:'设备就绪解雇了218毫秒' & '状态栏不支持'
    3. ionic build's./platforms/browser/www output

      • Safari浏览器桌面10.0.1
        • 在6,66秒内下载2,31 MB的10个资源。
      • Chrome的桌面54.0.1
        • 下载在5,09秒1,80 MB 13级的资源。
        • Chrome的控制台显示'main.js:47628原生:尝试调用t.styleDefault,但Cordova不可用。确保包括cordova.js或在设备/模拟器”

    仅供参考运行:Android的.apk文件的权重3.70 MB


    我的结论

    • '离子发球'会产生一个尚未准备好生产的发展环境。
    • '离子构建'产生2个稍微不同的生产环境,其中只有一个似乎正确加载原生Cordova设备插件。如果离子小组的人读这,或许可以给我们一个理由...

    免责声明:我最近读了离子团队正在考虑改变汇总的WebPack所以这一切都可以在今后改变离子2版本。

    2

    离子开发人员之一表示,他们为浏览器构建生产仍在进行中。你可以在这里看到哈灵顿的评论:

    https://github.com/ionic-team/ionic/issues/10635

    他建议使用npm run build --prod现在。

    我会建议还要对.js文件和其他包含文件进行缩小,压缩和添加版本号,以强制刷新浏览器。

    我注意到Angular 2/4在生产构建过程中更进一步。我想知道是否ng build --prod是Ionic团队想要去的地方,如果你能用它来建立离子项目。

    Angular有一个好处,就是改变index.html中的includes会在最后产生随机数字,迫使用户浏览器刷新像main.js这样至关重要的文件。