HarmonyOS鸿蒙Next中WebView组件可以加载把打包好后的h5放到app目录里直接访问吗
请问HarmonyOS鸿蒙Next中WebView组件可以加载把打包好后的h5放到app目录里直接访问吗? 可以的话 可以给个 demo 吗?
更多关于HarmonyOS鸿蒙Next中WebView组件可以加载把打包好后的h5放到app目录里直接访问吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
肯定可以,
必须可以啊!
本地资源文件可存放在模块的“src\main\resources\rawfile”文件夹下,在ets文件中通过$rawfile(‘文件名’)访问。
import { webview } from '@kit.ArkWeb';
@Component
struct WebComponent {
controller: webview.WebviewController = new webview.WebviewController();
build() {
Column() {
Web({ src: $rawfile('index.html'), controller: this.controller })
.javaScriptAccess(true)
}
}
}
rawfile/ └── welcome/ ├── assets/ ├── static/ ├── 3DGS.splat ├── handGuide.json ├── index.html └── vite.svg
为什么这样我访问不了呢
Web({ src: $rawfile("welcome/index.html"), controller: this.controller })
,难道不能包一层 welcome/ 吗,
好吧 welcome 里文件 放到根目录 也无法显示,难道不能显示 vue 项目吗,
在HarmonyOS鸿蒙Next中,WebView组件可以加载打包好的H5资源。你可以将H5文件放置在应用的resources/rawfile
目录下,然后通过WebView的loadUrl
方法加载本地路径,例如file:///android_asset/your_h5_file.html
。这种方式允许在应用内直接访问本地H5资源,无需网络请求。
在HarmonyOS Next中,WebView组件确实可以加载本地打包的H5资源。以下是实现方式:
- 将H5资源文件放入resources/rawfile目录下
- 使用WebView的loadUrl()方法加载本地文件
示例代码:
import webview from '@ohos.web.webview';
@Entry
@Component
struct WebComponent {
controller: webview.WebviewController = new webview.WebviewController();
build() {
Column() {
Web({
src: "resource://rawfile/index.html",
controller: this.controller
})
}
}
}
注意事项:
- 确保HTML文件及关联资源(JS/CSS)都放在rawfile目录
- 路径使用"resource://rawfile/"前缀
- 需要申请ohos.permission.INTERNET权限(在config.json中配置)
这种方案适合将H5页面打包到APP中作为本地资源使用,避免了网络请求,提高了加载速度。