TypeScript:如何导入ES6JavaScript类?

TypeScript:如何导入ES6JavaScript类?,javascript,typescript,import,ecmascript-6,typescript2.3,Javascript,Typescript,Import,Ecmascript 6,Typescript2.3,我有一个名为DB的ES6 JavaScript类,定义如下: // db.js "use strict"; export default class DB { ... } { "compilerOptions": { "module": "es6", "target": "es6", "moduleResolution": "node", "noImplicitAny": true, "removeComments": true, "p

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

// db.js
"use strict";

export default class DB {
  ...
}
{
  "compilerOptions": {
    "module": "es6",
    "target": "es6",
    "moduleResolution": "node",
    "noImplicitAny": true,
    "removeComments": true,
    "preserveConstEnums": true,
    "allowSyntheticDefaultImports": true,
    "sourceMap": true
  },
  "include": [
    "app/source/**/*",
    "test/**/*"
  ],
  "exclude": [
    "node_modules"
  ]
}
以及一个类型脚本文件,如下所示:

// 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文件,但这产生了错误:

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' }
我的配置如下:

// db.js
"use strict";

export default class DB {
  ...
}
{
  "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
的“编译器选项”
部分设置
的“allowJs”:true
成功了。我根本不需要使用
.d.ts
文件。

这对
编译器选项中的
allowJs:true
有效吗?别忘了指定Browserify的版本和构建脚本。丹尼尔·罗森瓦瑟:谢谢,这解决了我的问题!这不应该是“allowJs”:真的吗?