【问题标题】:How to run `ionic serve` from Gulp script如何从 Gulp 脚本运行“离子服务”
【发布时间】:2015-07-02 15:29:09
【问题描述】:

我正在尝试使用量角器和 gulp 设置端到端测试。因此,为了在 CI 服务器上执行我的测试,我需要分拆一个服务器,为我的 html/js/css 提供 ionic 服务。

我不完全确定 ionic cli 是如何触发服务器的,它是否有某种类型的任务运行器?如果是这样,我可以从 gulp 脚本中触发它吗?

【问题讨论】:

    标签: ionic-framework ionic gulp e2e-testing


    【解决方案1】:

    这不是最优雅的方式,但我相信这样可以完成工作。

    首先在您的gulpfile.js 中包含child-process

    var exec = require('child_process').exec;

    新建一个 gulp 任务startServerlike

    gulp.task('startServer', function(){
        exec('ionic serve', function (err, stdout, stderr) {});
    });
    

    将此新任务传递给您的默认任务,例如,

    gulp.task('default', [/*'task1','task2',...,*/'startServer']);

    然后只需运行 gulp 而不是 ionic serve 就可以了。

    希望对您有所帮助。 :)

    【讨论】:

      【解决方案2】:

      您可以在此处阅读:http://www.reddit.com/r/ionic/comments/362log/how_does_ionic_serve_all_work/,它会启动自己的 Web 服务器(例如在使用 WAMPP 或 XAMPP 时)。

      所以,我真的去测试了,确实是这样;如果你熟悉 XAMPP 或 WAMPP,你可以在 WAMPP 的 www 文件夹中启动你的 ionic 项目,然后你就可以通过 http://localhost/myapp/www 链接访问它(不使用 ionic serve 命令),如果你'已经使用 ionic start myapp 启动了您的 ionic 应用程序。

      我对 Gulp 没有那么丰富的经验,但你可以看看这个插件 https://www.npmjs.com/package/gulp-live-server 是否能帮助你完成任务。

      【讨论】:

      • 因为这是在 CI(持续集成)服务器上运行的,所以你必须确保依赖节点包而不是 XAMPP 之类的工具,因为这会使你的 CI 过程变得脆弱。我目前正在使用与gulp-live-server 类似的 gulp 包,但我想知道是否有办法利用 ionic cli 命令。
      • 好吧,我猜如果您可以在 CI 服务器上安装 ionic cli,那么您很可能可以运行该 ionic serve 命令。但是,由于 ionic serve 应该只启动一个 http 服务器(并为文件更改设置监视),那么您可以仅使用 gulp-live-server (或您使用的任何服务器)实现类似的事情。然而,说实话,我并没有玩这个,所以很遗憾我没有经验可以提供进一步的帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      • 2019-06-12
      • 1970-01-01
      • 2012-12-25
      相关资源
      最近更新 更多