我是新手使用cordova.One方式重新加载cordova应用程序我知道是使用插件&cordova-plugin-browsersync'。但我的应用程序是由webpack构建的,现在我想要要在浏览器中重新加载,我必须运行' webpack-dev-server'首先运行&#cord;运行浏览器 - --live-reload'。我可以更轻松地实现Live Reload的功能并在模拟器中调试实时重新加载吗?
答案 0 :(得分:0)
我遇到了同样的问题,但还没有找到一个现成的解决方案,所以下面就是我所做的以及我计划解决它的其他步骤。
我已下载cordova-plugin-browsersync
cordova plugin add cordova-plugin-browsersync
无效,所以我手动将其复制到plugins文件夹,更新了cordova的package.json,并从cordova-plugin-browsersync文件夹安装了插件的节点模块。
之后,如果在www文件夹中修改了任何内容,应用程序似乎会更快地更新。
现在必须解决如何从webpack-dev-server输出中间包文件,默认情况下不会这样做。我找到write-file-webpack-plugin,但它没有将所有文件输出到build文件夹,因此可能无法很好地用于此目的。
所以我的计划是
webpack.config.cordova.js
文件答案 1 :(得分:0)
我使用npm软件包live-server
来处理浏览器平台的重新加载。让它监视platforms/browser/www
目录。您的构建系统可能具有监视模式,在该模式下,它可以检测更改并输出已编译的结果。构建完成后,您还需要调用cordova prepare
,这可以通过nodemon实现。
在一个完整的示例中将它们放在一起:
/src
中。/www
/www
,并使其运行cordova prepare
。 prepare命令会将文件从www
复制到平台目录。 nodemon --watch www --exec \"cordova prepare\"
)live-server
观看/platforms/browser/www
文件夹这将导致在浏览器平台上使用cordova进行半快速的实时重新加载环境。由于很多事情可以一次运行,因此可以使用npm-run-all
并行运行所有脚本。
package.json
中的最终脚本可能如下所示:
"scripts": {
"live-build": "webpack --watch --output-path=www ....",
"live-watch": "nodemon --watch www --exec \"cordova prepare\" --ext html,css,js",
"live-serve": "live-server --watch=\"platforms/browser/www\"",
"start": "npm-run-all -c -n -l -p live-build live-watch live-serve"
}
然后,您只需调用npm start
来运行整个实时重新加载环境。这需要针对您的特定项目进行调整,但应该使您大致了解如何实现。