【发布时间】:2019-09-29 21:21:40
【问题描述】:
我在 TS 中有这段代码,用于在 Express 中创建 ConnectRoles 中间件的实例:
let user = new ConnectRoles(config);
这是中间件期望能够初始化的,对构造函数的简单调用,但是在转译后,生成的 javascript 代码如下所示:
let user = new connect_roles_1.default(config);
我正在使用以下方法在 TS 中导入此类:
import ConnectRoles from "connect-roles";
翻译成:
const connect_roles_1 = require("connect-roles");
在 JS 中,我实例化/导入类的方式是否可能是这里的问题?我可以手动删除导致 JS 代码错误的“默认”方法,但这违背了使用转译器的目的,特别是如果这样的事情开始更频繁地发生。
还有一件事,这是我的 tsconfig.json:
{
"compilerOptions": {
"baseUrl": ".",
"paths": { "*": ["types/*"] },
"target": "es2015",
"module": "commonjs",
"moduleResolution": "node",
"isolatedModules": false,
"jsx": "react",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": false,
"noImplicitAny": false,
"noImplicitUseStrict": false,
"removeComments": true,
"noLib": false,
"preserveConstEnums": true,
"suppressImplicitAnyIndexErrors": true,
"outDir": "app",
"sourceMap": true,
"watch": true
},
"exclude": [
"node_modules",
"typings/browser",
"typings/browser.d.ts",
],
"compileOnSave": true,
"buildOnSave": true,
"atom": {
"rewriteTsconfig": false
}
}
任何想法将不胜感激,谢谢!
【问题讨论】:
标签: javascript node.js typescript express