将JS文件导入Typescript

Nic*_*ite 12 javascript typescript

我正在寻找转移到Typescript,并且目前正在考虑如果可能的文件缓慢地执行此操作.

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

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

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

foo('something');
Run Code Online (Sandbox Code Playgroud)

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

我搜索过的任何想法都非常多,但我无法理解将JS文件导入到Typescript中.

bas*_*rat 7

我搜索过的任何想法都非常多,但我无法理解将JS文件导入到Typescript中.

对于webpack,您只需要declarerequire功能并执行您已经习惯的操作:

var foo = require('../../../../vendor/src/foo');
Run Code Online (Sandbox Code Playgroud)

require功能类型定义为在座的:https://github.com/TypeStrong/ts-loader#loading-other-resources-and-code-splitting

如果你想用foo一个更强大的方式...建议过将它移植到.ts为好,而奋力打造维护一个.d.ts为它的文件.


Mar*_*cka 1

简单地重命名foo.jsfoo.ts(可能需要一些额外的步骤,但通常效果很好),然后将代码片段重写为:

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

 foo('something');
Run Code Online (Sandbox Code Playgroud)