flutter run -d chrome --web-renderer html
2- 第二种方式 ( flutter 团队 提供了指导 ):
/path/to/bundled/canvaskit/
(如果它在 web/ 的根目录下,则只需指向 /
)。离线发布模式工作提示:
在发布模式下,为使应用程序可以离线工作,在使用flutter build web
命令发布应用程序后,转到build/web
中的index.html
文件,然后将此代码添加到脚本标记中:
<script>
window.flutterConfiguration = {
canvasKitBaseUrl: "/canvaskit/"
};
...
这是它的Makefile文件
webrun:
wasmLocation="$(shell grep canvaskit-wasm build/web/main.dart.js | sed -e 's/.*https/https/' | sed -e 's/\/bin.*/\/bin/' | uniq)"; \
curl -o ./web/canvaskit.js "$$wasmLocation/canvaskit.js"; \
curl -o ./web/canvaskit.wasm "$$wasmLocation/canvaskit.wasm"; \
flutter run -d chrome --release --web-renderer=canvaskit --dart-define=FLUTTER_WEB_CANVASKIT_URL=./
当我在Web服务器的根目录之外提供应用程序时,我遇到了这个问题。我不得不在web/index.html中指定<base>
标签,然后它就可以正常工作了。
<base href="/">
。 - Zahra