将JS文件导入Typescript

时间:2015-11-04 14:58:10

标签: javascript typescript

我正在考虑转移到Typescript,并且目前正在考虑如果可能的话逐个文件地慢慢地这样做。

现在我的系统是用Webpack构建的,我想继续这个以构建我的整体包。

我有一个.d.ts文件用于定义,但我需要我的文件继续导入当前正在抛出错误。

/// <reference path="../../../../vendor/src/foo.d.ts" />
import foo = require('../../../../vendor/src/foo.js');

foo('something');

这是当前抛出的错误,我也试过没有引用路径,这似乎引起一个错误,它不是一个模块。目前我唯一没有引发错误的方法是导入并只是添加引用,但这意味着webpack不会知道我的文件的位置。

我搜索过的任何想法都很多,但我无法将JS文件导入到Typescript中。

2 个答案:

答案 0 :(得分:7)

  

我搜索过的任何想法都很多,但我无法将JS文件导入到Typescript中。

对于webpack,您只需要declare require函数并执行您已经习惯的操作:

var foo = require('../../../../vendor/src/foo');

此处显示require函数类型定义:https://github.com/TypeStrong/ts-loader#loading-other-resources-and-code-splitting

如果您想以更强的方式使用foo ...建议将其移植到.ts,而不是努力构建,然后维护一个.d.ts文件。

答案 1 :(得分:1)

如何简单地将foo.js重命名为foo.ts(可能需要一些额外的steps,但通常可以正常工作),然后将您的代码段重写为:

 /// <reference path="../../../../vendor/src/foo.d.ts" />

 foo('something');