如何在没有webpack或类似的浏览器中从typescript调用JS函数?

时间:2018-04-28 19:34:28

标签: javascript typescript web-worker

我有一个用TypeScript编写的webworker,需要调用js lib中定义的单个函数。

将js代码内联到typescript文件并添加类型注释并不是一个选项,因为js lib很大,并且不遵循我的严格打字稿类型检查规则。此外,它可能违反了许可证;还没有检查过。

我怎么能做这个看似简单的任务?

1 个答案:

答案 0 :(得分:0)

这似乎是Typescript's Excludes的用例。如果这不起作用,这是一个解决方法:

只需为库定义一些类型接口:

    static string[] Scopes = { SheetsService.Scope.SpreadsheetsReadonly };
    static string ApplicationName = "autovhl";
    static void Main(string[] args)
    {
        Console.WriteLine(DateTime.Now.ToString());
        var service = new SheetsService(new BaseClientService.Initializer()
        {
            ApiKey = "my api key here",
            ApplicationName = ApplicationName,
        });

        string spreadsheetId = "my sheet id here";
        string range = "Sheet1!A1:A2";
        SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range);

        ValueRange response = request.Execute();
        IList<IList<Object>> values = response.Values;
        Console.WriteLine("done");
        Console.WriteLine(DateTime.Now.ToString());

    }

然后在每个文件中使用名为 interface ILibrary { someProp: number; } 的库,只需执行:

library

然后将库源包含在最终的网页中。