首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型记录如何找到.d.ts文件?

类型记录如何找到.d.ts文件?
EN

Stack Overflow用户
提问于 2019-10-19 03:33:59
回答 1查看 3.6K关注 0票数 5

我是一个新的类型记录开发人员,我正在做一个带有类型记录和webpack的项目,一些用js编码的库需要一个.d.ts文件,但我很困惑怎样用import * as PIXI from 'pixi.js'找到一个.d.ts文件

以下是我的猜测:

  1. webpack将在"node_modules“中找到名为node_modules的文件夹,并在其中找到package.json,如果它具有types属性,只需选择该文件作为.d.ts文件即可。
  2. 如果无法以1的方式找到.d.ts文件,则会转到node_ index.d.ts /@types(或其他自定义文件夹),查找是否存在同名为pixi.js的文件夹,并选择index.d.ts文件作为.d.ts文件。
  3. 顺便说一句,我在index.d.ts中发现他们使用module,为什么?我知道这位官员不推荐module关键字(由namespace替换)。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-19 03:49:06

.d.ts文件通常放置在.ts文件的旁边,它提供的类型为。尽管ts编译器只是将文件与模块名相匹配,但即使没有将它们放置在相邻的位置,也可以单独使用。

它应该对webpack也是一样的,编译器只知道如何找到类型,只要你把它指向它们所在的位置。

例如,我有一个名为“键入”的文件夹,在该文件夹中,我为我的快速应用程序放置了所有自定义类型。我的tsconfig看起来就像

代码语言:javascript
复制
{
    "compilerOptions": {
        "noImplicitAny": true,
        "esModuleInterop": true,
        "target": "es5"
    },
    "include": [
        "app/**/*"
    ]
}

而且由于我的输入文件夹在./app中,编译器没有问题,找到我的.d.ts文件,并且我的gulpfile.js看起来像

代码语言:javascript
复制
var gulp = require('gulp');
var ts = require('gulp-typescript');
var tsProject = ts.createProject('tsconfig.json');

gulp.task('buildTS', () => {
    return tsProject.src()
        .pipe(tsProject())
        .js.pipe(gulp.dest('build'));
});

gulp.task('ts:watch', function (cb) {
    gulp.watch('./app/**/*.ts', gulp.series(['buildTS', 'server']))
    cb(null);
});

我想使用一个名为custom的包,它在@types中没有ts类型。所以我刚刚创建了一个包含内容的custom-env.d.ts

代码语言:javascript
复制
declare module 'custom-env';
// This is a workaround. Always provide full and correct typings.

这样我就可以导入并使用它了。没有这一点,依赖的文件就不会编译。希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58460298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档