如何在打字稿

时间:2016-07-12 01:16:36

标签: typescript

我有一个名为ui.js的javascript文件。

ui.js内部是UI设置代码。

if (!("ontouchstart" in document.documentElement)) {
    document.documentElement.className += " no-touch";
    var jScrollOptions = {
        autoReinitialise: true,
        autoReinitialiseDelay: 100
    };

    $('.box-typical-body').jScrollPane(jScrollOptions);
    $('.side-menu').jScrollPane(jScrollOptions);
    $('.scrollable-block').jScrollPane(jScrollOptions);
}

我希望能够从打字稿中调用它。

我不想将代码转换为打字稿,因为有数百行,并不是真的有必要。在UI准备好之后,它只需要一次。

在我看来,我应该能够将它包装在一个函数中,然后从typescript中调用该函数。

但我无法弄清楚如何做到这一点。

注意:不是先前问题的重复,因为这是如何转换js,而不是直接使用它尽可能少的修改。

2 个答案:

答案 0 :(得分:20)

  

但我无法弄清楚如何做到这一点。

只需在tsconfig.json allowJs中将compilerOptions设置为true,然后使用.js / {确保files文件包含 {1}} / include等。

更多

我也在这个主题上制作了一个视频https://www.youtube.com/watch?v=gmKXXI_ck7w

答案 1 :(得分:8)

您可以毫无后顾之忧地从外部文件调用JavaScript函数。但你必须声明它们,以便TypeScript了解它们。如果你不这样做,你的代码就可以了,但是编译时会出错。

您可以使用Anonymously-typed var:

declare var myFunction;

或Interfaced-typed var:

interface __myFunction { } declare var myFunction: __myFunction;

您也可以将其写入声明文件(但不是必需的)。另请参阅TypeScript documentation