我正在开发一个业余爱好项目,我使用CefSharp构建一个带有Angular TypeScript接口的C#应用程序。
目前我正在使用websockets与后端对话,我在C#中创建了自己的websocket实现(这可能是我遇到的问题的一部分)。问题在于,有时我的后端没有收到来自前端的消息,而我应该通过在必须发送的消息之后发送完全随机的消息来解决这个问题(我在Chrome中没有这个问题)本身,只有CefSharp开始有这个问题)。
现在我正在阅读CefSharp,并且发现你可以从C#执行JavaScript方法,这基本上可以解决对websockets的需求。
我在这里看到的唯一问题是,我无法在编译后运行/查找用TypeScript编写的函数。有没有办法制作纯JavaScript函数,在编译TypeScript后仍可访问?而且,并非不重要,这些JavaScript函数可以调用TypeScript函数(比如来自其他服务的函数)吗?
另一个例子是:我可以从Chrome控制台执行TypeScript函数吗?
答案 0 :(得分:1)
如果您的打字稿函数在全局范围内,则编译的javascript函数也将在全局范围内,因此您只需从控制台调用它们即可。如果您使用import
export
和模块,则您的代码将在全局范围内不可用。在这种情况下,Websockets似乎是一个好主意。
打字稿
class Test{
doSomething(){
console.log("hi!")
}
}
编译为es5 javascript
var Test = (function () {
function Test() {
}
Test.prototype.doSomething = function () {
console.log("hi!");
};
return Test;
}());
来自浏览器控制台或您的c#应用程序
let t = new Test();
t.doSomething();