我有这个ionic.project文件:
private:
Windows::Web::Http::HttpClient^ httpClient;
Windows::Web::Http::HttpResponseMessage^ response;
但是gulp任务没有被执行,我甚至添加了一些console.logs来调试但没有发生任何事情。
有什么想法吗?
更新
我已经检测到gulpStartupTasks正在与Ionic初始化异步执行,所以当Ionic试图找到www文件夹并且找不到它时(因为我的启动任务还没有运行)它失败并杀死进程
但是,如果我创建一个空的www文件夹来欺骗Ionic它可以工作,但打开一个浏览器,显示错误,指出找不到index.html
然而,在那之后的几秒钟,我看到我的shell中正在执行启动任务
如果我刷新页面就可以了
如何在离子尝试查找www文件夹之前运行这些启动任务?
答案 0 :(得分:4)
根据最新的Ionic-Cli documentation,如果您希望在提供应用之前运行任何gulp任务,请将serve:before
任务添加到项目根目录中的gulpfile.js
文件中。在你的情况下,这将是:
gulp.task("serve:before", [
"styles",
"source",
"watch"
]);
答案 1 :(得分:0)
我认为Ionic并没有忽略gulpStartupTasks,因为我之前已经更新了问题,而是异步执行它们到服务器初始化。
要解决这个问题,我已经在package.json中添加了一个postinstall脚本来完成创建www文件夹,处理源文件然后将它们复制到www文件夹的工作。
这解决了问题,但我仍然不明白为什么gulpStartupTasks执行异步而不是同步,这似乎是错误的。不是吗?
答案 2 :(得分:0)
所以我想出来了。我猜你和我一样,正在编辑不同的.sass或.scss文件而不是离子骨架应用程序附带的文件。在这种情况下,您需要将此新路径添加到gulp文件中,或者livereload将获取更改,但实际上不会在路径中使用新的SASS文件执行“sass”命令。
这是我在gulpfile.js中编辑的路径行
var paths = {
sass: ['./scss/**/*.scss', './www/sass/**/*']
};
'。/ www / sass / ** / *'是我在主要的ionic.app.scss文件中放入我@inmport的新SASS文件的地方。
// Include all of Ionic
@import "www/lib/ionic/scss/ionic";
@import "www/sass/test";