当我在远程容器内运行节点服务器时,我收到了 express.default is not a function 错误。
有什么线索吗?
main.ts 文件:
import * as express from 'express';
...
const server = (express as any).default();
...
logs:
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)
如果您没有更改任何内容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();
或者如果你改成真实的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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)