离子服务忽略gulpStartupTasks

Jay*_*tta 5 gulp ionic-framework

我有这个ionic.project文件:

{
  "name": "foobar",
  "app_id": "com.foo.bar",
  "gulpStartupTasks": [
    "styles",
    "source",
    "watch"
  ],
  "watchPatterns": [
    "www/**/*",
    "!www/lib/**/*"
  ],
  "sourceModules": {
    "ionic": "git://github.com/driftyco/ionic.git",
    "ng-cordova": "git://github.com/driftyco/ng-cordova.git"
  }
}
Run Code Online (Sandbox Code Playgroud)

但是gulp任务没有被执行,我甚至添加了一些console.logs来调试,但什么都没发生.

有任何想法吗?

更新:

我已经检测到gulpStartupTasks正在与Ionic初始化异步执行,所以当Ionic尝试找到www文件夹但找不到它时(因为我的启动任务还没有运行),它会失败并终止进程

但是,如果我创建一个空的www文件夹来欺骗Ionic它可以工作,但打开一个浏览器,错误说没有找到index.html

然而,在那之后的几秒钟,我看到我的shell中正在执行启动任务

如果我刷新页面就可以了

如何在离子尝试查找www文件夹之前运行这些启动任务?

Jay*_*tta 0

我认为 Ionic 并没有像我之前更新的问题一样忽略 gulpStartupTasks ,而是异步执行它们到服务器初始化。

为了解决这个问题,我在 package.json 中添加了一个安装后脚本来完成创建 www 文件夹、处理源文件然后将它们复制到 www 文件夹的工作。

这解决了问题,但我仍然不明白为什么 gulpStartupTasks 执行异步而不是同步,这似乎是错误的。不是吗?