我正在使用 Typescript 2 .1.5并尝试用它编写一些较新的代码段。 我有一个 JS 库,我还没准备好在Typescript中更新。问题是我需要在一个简单的Typescript组件中使用一些Javascript代码。
我一直在抓取网页,以便让我的Javascript函数被调用并在.TS文件中工作。不幸的信息是 过时 (主要是),不清楚或根本没有解释。我已经尝试了很多技巧,但都没有效果。
所以我的问题是:在TS文件(ES6)中使用javascript代码的最简单方式和最简单方式是什么?必须遵循一个协议来完成这项工作。
我们非常感谢任何教程,链接或解释,我相信在相同的情况下也会帮助其他人。
为了更好地理解,这里有一些代码片段:
我首先在component.ts中导入我的JS文件
var ZP = require('./zp.js');
在我的js文件中,我有两种类型的函数。分别是基本的和来自对象的方法:
**export** function logTest(){
console.log("Responding");
}//Simple function
( *我刚刚编辑时发现,通过在简单函数中附加关键字" export"可以在TS文件中调用它。它不能用于方法* )。
DObject.stringtest = function(){
return "Responding";
} //Object Method
返回我的 component.ts 文件,我会调用每个文件。现在调用带有导出关键字的简单函数,但 DObject 方法 仍未定义。 (我对 DObject 进行了虚拟调用,只是为了显示哪些内容不起作用,即使某些内容看起来很明显。)
testFunc(event){
console.log("event is okay");
console.log(ZP.logTest()); <--- Now Works
console.log(ZP.stringTest()); <--- Don't Work
console.log(ZP.DObject.stringTest()); <--- Don't Work
console.log(ZP.DObject.stringTest); <--- Don't Work
}
以下是控制台日志:
DObject.stringTest is not a function
(前两次调用stringTest())
Undefined
(最后一次调用DObject.stringTest)
(我刚发现一些关于宣言文件的内容,我会给它一个镜头,希望如果它有用,我将编辑一个完整的解释一步一步的教程。同时,任何帮助将不胜感激。)< / em>
答案 0 :(得分:-1)
在您的情况下,由于打字不可用,因此在打字稿中未检测到您现有的javascript文件。
您可以创建一个类型定义(index.d.ts)文件并继续添加您的输入,以便它可供您的tsc编译器使用。
在进入打字稿世界时,您需要了解以下几点。有些人可能知道,有些人可能不知道。
将每个打字稿文件转换为java脚本到tsconfig.json中所需的特定版本
打字稿了解打字稿(需要javascript类型定义)或类型定义。