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