【发布时间】:2015-07-02 15:29:09
【问题描述】:
我正在尝试使用量角器和 gulp 设置端到端测试。因此,为了在 CI 服务器上执行我的测试,我需要分拆一个服务器,为我的 html/js/css 提供 ionic 服务。
我不完全确定 ionic cli 是如何触发服务器的,它是否有某种类型的任务运行器?如果是这样,我可以从 gulp 脚本中触发它吗?
【问题讨论】:
标签: ionic-framework ionic gulp e2e-testing
我正在尝试使用量角器和 gulp 设置端到端测试。因此,为了在 CI 服务器上执行我的测试,我需要分拆一个服务器,为我的 html/js/css 提供 ionic 服务。
我不完全确定 ionic cli 是如何触发服务器的,它是否有某种类型的任务运行器?如果是这样,我可以从 gulp 脚本中触发它吗?
【问题讨论】:
标签: ionic-framework ionic gulp e2e-testing
这不是最优雅的方式,但我相信这样可以完成工作。
首先在您的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 就可以了。
希望对您有所帮助。 :)
【讨论】:
您可以在此处阅读: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 是否能帮助你完成任务。
【讨论】:
gulp-live-server 类似的 gulp 包,但我想知道是否有办法利用 ionic cli 命令。