是否有人在使用类型记录的模块1中引用另一个模块2,同时使用类型记录,并且都使用tsd类型,如node.d.ts?
只要我只需要模块2,我就可以编译和使用它们。但是,一旦我使用import,我就会陷入重复的标识符地狱,因为这两个模块中的源文件都从明显不同的路径导入例如node.d.ts类型。两个项目中的类都使用'streams‘或’送交‘,因此都在键入时使用它们,从而使用/引用语法。这两个项目中的tsconfig不包括类型。
发布于 2017-02-15 00:25:21
自从这个问题被问到以来,打字稿已经取得了很大的进步,现在要容易得多了。您可以在package.json中链接正确的文件
{
"main": "library-commonjs.js",
"module": "library-es6-module.js",
"typings": "library-commonjs.d.ts"
}main由使用CommonJS和Node.js模块解析的包使用。module由支持ES6导入的包使用。typings后面跟着类型记录(当前类型为2.2)来解析包的类型定义。
在与此斗争之后,我花了一些时间创建一个类型记录样板/入门项目,演示如何正确地完成该工作:
https://github.com/bitjson/typescript-starter
该项目包含了更多的文档,以及如何从类型记录项目导入代码的几个例子。
发布于 2016-04-19 05:54:34
编辑:使用TS 2.2,这已经变得更好了。见已接受的答案。
似乎这在1.8.x打字本中是不可能的。但他们似乎是通过https://github.com/Microsoft/TypeScript/issues/7156来解决这个问题的。
而且,这个问题应该通过使用jsconfig.json来缓解,VScode应该使用它(参见https://blogs.msdn.microsoft.com/vscode/2015/07/06/visual-studio-code-es6/)。遗憾的是,我还没有让它发挥作用。
https://stackoverflow.com/questions/36688725
复制相似问题