相关疑难解决方法(0)

如何从现有的JavaScript库生成.d.ts"typings"定义文件?

我使用了很多我自己和第三方的图书馆.我看到"typings"目录包含一些用于Jquery和WinRT ......但它们是如何创建的?

typescript tsc

173
推荐指数
6
解决办法
11万
查看次数

打字稿通过配置忽略特定文件中的错误

是否可以通过以下方式忽略特定文件中的打字稿错误tsconfig.json?我知道有他们网站exclude上描述的财产,但这不是我要找的。就像声明的那样:

如果文件 B.ts 被另一个文件 A.ts 引用,则不能排除 B.ts,除非在“排除”列表中也指定了引用文件 A.ts。

当你使用某个 npm 包时,它总是会被打字稿检查是非常合乎逻辑的。即使你努力到exclude整个node_modules或只是特定的一个。你会失败的。因此,如果某些节点模块文件中存在打字稿错误(由于某种原因、过时的类型、版本不匹配等),那么您就被卡住了。

我正在寻找的是一个选项,可以忽略我无法编辑的特定库文件中的打字稿错误。类似于// @ts-nocheck,但在tsconfig.json级别上:

{
  "nocheck": [
    "node_modules/redux-thunk/index.d.ts"
  ]
}
Run Code Online (Sandbox Code Playgroud)

skipLibCheck编译器选项是不是一个解决方案。我仍然想继续检查其他图书馆。

npm node-modules typescript

9
推荐指数
1
解决办法
547
查看次数

在 tsx 中导入 jsx

我继承了 JSX 的一些遗留项目。我正在将 JSX 转换为 TSX。

目前正在 TSX 中导入 JSX 和 JS 文件。我收到一个错误Cannot find module 'config/abc_module' or its corresponding type declarations.

我知道缺少类型,因为它是 JS 文件。我添加了 JSDoc 类型,但似乎没有任何帮助。在 JSX 文件中添加类型以在 TSX 中使用它们的最佳方法是什么?

我在JS中有相当多的文件,有些由于特定原因甚至无法转换。我进行了很多搜索并阅读了很多文章,但似乎找不到任何具体的前进方向。任何帮助,将不胜感激。提前致谢。

reactjs tsx

5
推荐指数
1
解决办法
8226
查看次数

如何在 Typescript 中导入 Javascript 模块

我想知道如何在 Typescript 中导入 Javascript 模块。

项目

  1. 模块是“amd”。
  2. 对单个文件使用 outFile 选项。
  3. 控制内部模块///<reference path=''/>

代码

应用程序.js

export function func(a, b) {
    return a+b;
}
Run Code Online (Sandbox Code Playgroud)

MainApp.ts

import Stats from "../app";    

class MainApp {

    foo() {
        const f = func(1, 2); // not define (runtime error)
    }
}
Run Code Online (Sandbox Code Playgroud)

错误

SyntaxError: Unexpected token export
ReferenceError: define is not defined
Main.js:6667
    at d:\...\Main.js:6667:2
ReferenceError: MainApp is not defined
    at window.onload (d:\...\index.html:18:24)
Run Code Online (Sandbox Code Playgroud)

未找到定义。

javascript typescript

4
推荐指数
1
解决办法
8752
查看次数

NodeJS 如何将 JS 文件导入 TypeScript

我是 TypeScript 的新手。我目前正在学习使用 Typescript 语言的 NodeJS Loopback 4框架。我的问题是如何将在 JS 文件中导出的一些函数、类导入到我的 TS 文件中。经过多种方式搜索后,它仍然对我不起作用。下面是例子:

  // /src/index.ts
    import {plus} from './lib/test';

    console.log(plus(1,2));
Run Code Online (Sandbox Code Playgroud)
// /src/lib/test.js
    export function plus(x, y) {
      return x + y;
    }
Run Code Online (Sandbox Code Playgroud)

我也尝试使用这样的定义打字稿

// /src/lib/test.d.ts
export declare function plus(x: number, y: number): number;
Run Code Online (Sandbox Code Playgroud)

但是在 index.ts 文件中导入这个函数时仍然出错

错误:在 Function.Module._resolveFilename (module.js:543:15) 中找不到模块“./lib/test”

import node.js typescript loopbackjs

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

typescript ×4

import ×1

javascript ×1

loopbackjs ×1

node-modules ×1

node.js ×1

npm ×1

reactjs ×1

tsc ×1

tsx ×1