如何在 Blazor Web Assembly 中 运行 捆绑 javascript 文件?
How to run bundled javascript files in blazor web assembly?
我将捆绑的脚本文件保存在 blazor_wasm 应用程序的 wwwroot 文件夹中。
- 我在 index.html
中使用脚本标签添加了文件
<script src="assets/plugins/global/plugins.bundle.js"></script>
<script src="assets/js/scripts.bundle.js"></script>
我已将 scripts.bundle.js 代码放入函数调用JS
function callJS() {/** bundled js**/}
我在 razor 页面中使用 js interops 调用了该函数,但这给出了错误
protected override async Task OnAfterRenderAsync(bool firstRender){
if (firstRender)
{
await jsRuntime.InvokeVoidAsync("callJS");
}
}
这些是错误
The return type of an async method must be void, Task, Task, a
task-like type, IAsyncEnumerable, or IAsyncEnumerator wasm_app
'Index.OnAfterRenderAsync(bool)': return type must be 'Task' to match
overridden member 'ComponentBase.OnAfterRenderAsync(bool)' wasm_app
这是 运行 文件的正确方法还是我必须使用另一个生命周期事件?
我正在使用 keen bootstrap 主题,它使用 webpack 生成捆绑的 js 和 css 文件。
答案很简单,我们只需要将 js 互操作代码放入 MainLayout.razor page.That 我就是这样解决的
我将捆绑的脚本文件保存在 blazor_wasm 应用程序的 wwwroot 文件夹中。
- 我在 index.html 中使用脚本标签添加了文件
<script src="assets/plugins/global/plugins.bundle.js"></script>
<script src="assets/js/scripts.bundle.js"></script>
我已将 scripts.bundle.js 代码放入函数调用JS
function callJS() {/** bundled js**/}
我在 razor 页面中使用 js interops 调用了该函数,但这给出了错误
protected override async Task OnAfterRenderAsync(bool firstRender){ if (firstRender) { await jsRuntime.InvokeVoidAsync("callJS"); } }
这些是错误
The return type of an async method must be void, Task, Task, a
task-like type, IAsyncEnumerable, or IAsyncEnumerator wasm_app'Index.OnAfterRenderAsync(bool)': return type must be 'Task' to match overridden member 'ComponentBase.OnAfterRenderAsync(bool)' wasm_app
这是 运行 文件的正确方法还是我必须使用另一个生命周期事件? 我正在使用 keen bootstrap 主题,它使用 webpack 生成捆绑的 js 和 css 文件。
答案很简单,我们只需要将 js 互操作代码放入 MainLayout.razor page.That 我就是这样解决的