我正在考虑转移到Typescript,并且目前正在考虑如果可能的话逐个文件地慢慢地这样做。
现在我的系统是用Webpack构建的,我想继续这个以构建我的整体包。
我有一个.d.ts文件用于定义,但我需要我的文件继续导入当前正在抛出错误。
/// <reference path="../../../../vendor/src/foo.d.ts" />
import foo = require('../../../../vendor/src/foo.js');
foo('something');
这是当前抛出的错误,我也试过没有引用路径,这似乎引起一个错误,它不是一个模块。目前我唯一没有引发错误的方法是导入并只是添加引用,但这意味着webpack不会知道我的文件的位置。
我搜索过的任何想法都很多,但我无法将JS文件导入到Typescript中。
答案 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');