bab*_*a44 17 node.js express typescript
当我在远程容器内运行节点服务器时,我收到了 express.default is not a function 错误。
有什么线索吗?
main.ts 文件:
import * as express from 'express';
...
const server = (express as any).default();
...
Run Code Online (Sandbox Code Playgroud)
日志:
2020-09-04 10:58:29/main.js:112
/main.js:112
2020-09-04 10:58:29const server = express.default();
const server = express.default();
2020-09-04 10:58:29^
^
2020-09-04 10:58:29TypeError: express.default is not a function
TypeError: express.default is not a function
2020-09-04 10:58:29at Object.<anonymous> (/main.js:112:35)
at Object.<anonymous> (/main.js:112:35)
2020-09-04 10:58:29at Object.execCb (/node_modules/requirejs/bin/r.js:1946:33)
at Object.execCb (/node_modules/requirejs/bin/r.js:1946:33)
2020-09-04 10:58:29at Module.check (/node_modules/requirejs/bin/r.js:1133:51)
at Module.check (/node_modules/requirejs/bin/r.js:1133:51)
2020-09-04 10:58:29at Module.enable (/node_modules/requirejs/bin/r.js:1426:22)
at Module.enable (/node_modules/requirejs/bin/r.js:1426:22)
2020-09-04 10:58:29at Object.enable (/node_modules/requirejs/bin/r.js:1807:39)
at Object.enable (/node_modules/requirejs/bin/r.js:1807:39)
2020-09-04 10:58:29at Module.<anonymous> (/node_modules/requirejs/bin/r.js:1411:33)
at Module.<anonymous> (/node_modules/requirejs/bin/r.js:1411:33)
2020-09-04 10:58:29at /node_modules/requirejs/bin/r.js:384:23
at /node_modules/requirejs/bin/r.js:384:23
2020-09-04 10:58:29at each (/node_modules/requirejs/bin/r.js:309:31)
at each (/node_modules/requirejs/bin/r.js:309:31)
2020-09-04 10:58:29at Module.enable (/node_modules/requirejs/bin/r.js:1363:17)
at Module.enable (/node_modules/requirejs/bin/r.js:1363:17)
2020-09-04 10:58:29at Module.init (/node_modules/requirejs/bin/r.js:1038:26)
at Module.init (/node_modules/requirejs/bin/r.js:1038:26)
Run Code Online (Sandbox Code Playgroud)
tmh*_*005 42
如果您没有更改任何内容,tsconfig.json
这意味着您保留此选项esModuleInterop: false
,因此您只需导入为名称空间,而不调用任何default
函数:
import * as express from "express";
const app = express();
// compiled code will require as normally
const express = require("express");
const app = express();
Run Code Online (Sandbox Code Playgroud)
或者,如果您切换为 true esModuleInterop: true
,您将在没有命名空间的情况下导入,如下所示:
import express from "express";
const app = express();
// compiled code will call default function by checking first
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
const express_1 = __importDefault(require("express"));
const app = express_1.default();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19587 次 |
最近记录: |