我有一个名为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,而不是直接使用它尽可能少的修改。
答案 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。