【问题标题】:ionic run browser --livereload not working离子运行浏览器--livereload 不工作
【发布时间】:2017-10-25 23:47:17
【问题描述】:

我试图在我的 ionic 2 应用程序上使用实时重新加载。所以我找到了这个命令

ionic run browser --live-reload

没有按预期工作,在进行代码更改时我收到控制台消息

[16:12:47]  build started ...
[16:12:47]  transpile update started ...
[16:12:47]  transpile update finished in 46 ms
[16:12:47]  deeplinks update started ...
[16:12:47]  deeplinks update finished in 248 ms
[16:12:47]  webpack update started ...

但页面没有重新加载

【问题讨论】:

  • 语法是ionic run browser --livereload。如果它不起作用,请检查github.com/driftyco/ionic-cli/issues/790的解决方法
  • 我试过ionic run browser --livereload,但行为相同。 附言该页面上没有提到任何解决方法
  • 解决方法:更改后,等到控制台显示文件已更改,然后 rsync -rtv www/platforms/browser/www 或运行另一个文件监视器:fswatch - r www/ | xargs -I % rsync -rtv www/platforms/browser/www workaround 2 ./node_modules/.bin/ionic-app-scripts serve --sourceMap source-map --iscordovaserve --wwwDirplatforms/浏览器/www/ --buildDir 平台/浏览器/www/build

标签: ionic-framework ionic2 windows-8.1 livereload


【解决方案1】:
"serve": "npx ionic serve --cordova --platform browser"

【讨论】:

    【解决方案2】:
    Try This
    
    ionic cordova run browser --livereload  --consolelogs --serverlogs
    

    【讨论】:

    • 为了其他找到您答案的人的利益,您能否解释一下为什么您的解决方案适用于这个问题?
    【解决方案3】:

    我在github页面上找到了解决方案

    在 package.json 文件中包含一个脚本

    "browser": "ionic-app-scripts serve --sourceMap source-map --iscordovaserve --wwwDir platforms/browser/www/ --buildDir platforms/browser/www/build"
    

    然后运行

    npm run browser
    

    【讨论】:

    • ionic-app-scripts serveionic cordova run browser 不一样,因为它不支持cordova 插件(而浏览器平台至少支持某些插件)
    • 很抱歉,我现在才知道这是使用浏览器构建的一种解决方法,并且可以确认它对我有用。我会在答案中明确声明,这样我们可以让科尔多瓦插件和浏览器平台以与cordova run browser 相同的方式工作
    • 完美解决了问题中提到的问题,谢谢
    • @MathieuCastets Ionic 2 在问题中被标记。
    • 完美运行,现在我可以通过实时重新加载在浏览器上使用cordova-plugin-googlemaps(本机地图)
    【解决方案4】:

    首先,如果有人需要这个答案,该命令已在更高版本中重命名为

    ionic cordova run browser
    

    第二,运行此命令时不支持--livereload标志。 this issue explains more

    【讨论】:

      【解决方案5】:

      当您运行命令 ionic cordova run browser --livereload 时,您将在 CLI 中看到类似这样的内容:

      [19:39:00]  dev server running: http://localhost:8100/ 
      
      [INFO] Development server running
             Local: http://localhost:8100
             External: http://192.168.0.51:8100
      

      只需打开http://192.168.0.51:8100http://localhost:8100,您的实时重新加载将在该地址上运行。您的浏览器可能在 http://localhost:8000 而不是 8100 中打开

      【讨论】:

      • 在 8000 上打开与 8100 不同,因为cordova 不在 8100 上运行。8000 上的应用程序将在其中包含 cordova。
      • 确实在 8100 上没有创建插件代理
      • 无论如何都为我工作。 sql 插件适用于 8100 而不是 8000
      • 起来!是的:8100 是对的,不是 8100。:|非常感谢,我的朋友!
      【解决方案6】:

      使用此命令浏览器会自动重新加载。

      ionic serve
      

      如果你想在浏览器中运行不同平台的应用程序,你可以使用这个命令:

      ionic serve -l
      

      这两个命令都会在代码更改时自动重新加载页面

      【讨论】:

      • cordova 未加载到 ionic serve
      • 浏览器是一个平台 ionic serve 不模拟/构建为浏览器平台
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2014-08-09
      • 1970-01-01
      相关资源
      最近更新 更多