微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Blazor组件中实现TypeScript隔离?

如何解决如何在Blazor组件中实现TypeScript隔离?

我知道如何实现JavaScript isolation in Blazor components

// Use the module Syntax to export the function
export function sayHi(name) {
    alert(`hello ${name}!`);
}

private Task<IJSObjectReference> _module;
private Task<IJSObjectReference> Module => _module ??= JSRuntime.InvokeAsync<IJSObjectReference>("import","./js/demo.js").AsTask();

async Task Submit()
{
    var module = await Module;
    await module.InvokeVoidAsync("sayHi",name);
}

但是如何在Blazor组件中实现隔离的 TypeScript 连接,以调用 TypeScript 文件中定义的“ sayHi”函数

问题是,如果我从TypeScript模块中导出函数,如下所示:

export function sayHi(name) {
    alert(`hello ${name}!`);
}

然后将其编译为以下没有“导出”的javascript:

"use strict";
Object.defineProperty(exports,"__esModule",{ value: true });
exports.sayHi = void 0;
function sayHi(name) {
    alert("hello " + name + "!");
}
exports.sayHi = sayHi;
//# sourceMappingURL=say.js.map

这就是为什么我有这个问题。如何在Blazor组件中实现隔离的 TypeScript 连接,以调用 TypeScript 文件中定义的“ sayHi”函数


答案:将CompilerOptions中的模块设置为ES2015或ESNext

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。