离子 2 Livereload

Ionic 2 Livereload

使用 Ionic 2 进行开发时,如何在更改代码时停留在当前页面?在 Ionic 1 中,livereload 会将您带回到当前的 url - 但是在 ionic 2 中,没有 urls.

是否有设置可以使 livereload 保持在当前页面?

我也愿意启用 URL,如果这样就不必在每次代码更改时都手动导航回我的页面。但是我还没能在 v2 文档中找到如何做到这一点。

按照我在配置文件中所做的更改停止 Ionic2 中的实时重新加载:ionic.config.js

ionic.config.js

watch: {
  sass: ['app/**/*.scss'],
  html: ['app/**/*.html'],
  livereload: [
    'www/build/**/*.html',
    'www/build/**/*.js',
    'www/build/**/*.css'
  ]
}

以上部分编辑为:

watch: {
  sass: ['app/**/*.scss'],
  html: ['app/**/*.html'],
}

然后 ionic serve 停止 q,然后再次开始。自动刷新已停止,我们必须手动刷新以反映最新更改。

不,无法执行您要求的操作,因为 ionic 2 未使用 url。实际上,他们将页面作为 window 上的变量处理,因此当您或实时重新加载刷新页面时,它将进入初始状态。顺便说一下,实际上还没有实现 angular 路由器的计划,让我们等到 RC,也许他们想实现它

您可以将 app.component.ts 中的 this.rootPage 设置为您正在处理的页面。如果我正在处理 foobar.ts 页面一段时间,我经常这样做,我将其更改为

this.rootPage = FooBar;

然后在完成后将其更改回默认根页面。

实际上 ionic.config.js 已被弃用。所以我找到了一种方法,转到这个 node_modules\@ionic\app-scripts\config 。更改名为 watch.js

的文件
srcFiles: {
    paths: ['{{SRC}}/**/*.(ts|html|s(c|a)ss)'],
    options: { ignored: ['{{SRC}}/**/*.spec.ts', '{{SRC}}/**/*.e2e.ts', '**/*.DS_Store'] },
    callback: watch.buildUpdate
  },