javascript - TypeScript:如何导入 ES6 JavaScript 类?

标签 javascript typescript import ecmascript-6 typescript2.3

我有一个名为 DB 的 ES6 JavaScript 类,定义如下:

// db.js
"use strict";

export default class DB {
  ...
}

还有一个如下所示的 TypeScript 文件:

// surgeons.ts
"use strict";

import DB from "./db";

我希望这能正常工作,但我收到以下错误:

Browserify Error { [TypeScript error: app/source/common/surgeons.ts(3,16): Error TS2307: Cannot find module './db'.]
  message: 'app/source/common/surgeons.ts(3,16): Error TS2307: Cannot find module \'./db\'.',
  fileName: 'app/source/common/surgeons.ts',
  line: 3,
  column: 16,
  name: 'TypeScript error' }

我试图按照描述定义一个 db.d.ts 文件 here但这产生了错误:

Browserify Error { [TypeScript error: app/source/common/surgeons.ts(5,16): Error TS2306: File 'app/source/common/db.d.ts' is not a module.]
  message: 'app/source/common/surgeons.ts(5,16): Error TS2306: File \'app/source/common/db.d.ts\' is not a module.',
  fileName: 'app/source/common/surgeons.ts',
  line: 5,
  column: 16,
  name: 'TypeScript error' }

我的tsconfig如下:

{
  "compilerOptions": {
    "module": "es6",
    "target": "es6",
    "moduleResolution": "node",
    "noImplicitAny": true,
    "removeComments": true,
    "preserveConstEnums": true,
    "allowSyntheticDefaultImports": true,
    "sourceMap": true
  },
  "include": [
    "app/source/**/*",
    "test/**/*"
  ],
  "exclude": [
    "node_modules"
  ]
}

最佳答案

根据 Daniel Rosenwasser 的说法,在 tsconfig.json "compilerOptions" 部分设置 "allowJs": true 就可以了。我根本不需要使用 .d.ts 文件。

关于javascript - TypeScript:如何导入 ES6 JavaScript 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44830647/

相关文章:

javascript - React - 嵌入 HTML 标签的 ES6 模板字符串

node.js - 如何让 TypeScript 源文件显示在 Node 检查器中?

haskell - 导入 type level naturals 的 * 运算符

javascript - 如何使用 sinon 验证构造函数是否被调用

java - Eclipse 无法识别 com.sun.net.httpserver.HttpServer 包

java - 如何将jar导入到Knime中的java snippet节点

javascript - 将字符串传递给razor中的javascript函数

javascript - 使用 $scope 变量的值来指定属性

javascript - 如何在 Promise 中编码 "try again"?

typescript - 是否可以通过导入使用绝对路径(而非相对路径)的方式配置 vs 代码?