Express.js : express() 不是函数错误
Express.js : express() not a function error
我正在学习 express 运行 终端的代码给我错误,下面是我的代码和终端错误提示
const express = require("express");
const app = express();
app.listen(3000);
终端说:
ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and 'C:\Users\ENIOLA YUSUFF\desktop\my-express-server\package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
at file:///C:/Users/ENIOLA%20YUSUFF/desktop/my-express-server/server.js:5:17
←[90m at ModuleJob.run (node:internal/modules/esm/module_job:197:25)←[39m
at async Promise.all (index 0)
←[90m at async ESMLoader.import (node:internal/modules/esm/loader:337:24)←[39m
←[90m at async loadESM (node:internal/process/esm_loader:88:5)←[39m
←[90m at async handleMainPromise (node:internal/modules/run_main:61:12)←[39m
我尝试使用下面的代码,而不是认为这是节点版本的差异,但它解决了一半的问题。
import * as express from "express";
const app = express();
app.listen(3000);
终端错误:
$ node server.js
file:///C:/Users/ENIOLA%20YUSUFF/desktop/my-express-server/server.js:2
const app = express();
^
TypeError: express is not a function
at file:///C:/Users/ENIOLA%20YUSUFF/desktop/my-express-server/server.js:2:13
at ModuleJob.run (node:internal/modules/esm/module_job:197:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
at async loadESM (node:internal/process/esm_loader:88:5)
at async handleMainPromise (node:internal/modules/run_main:61:12)
试试这个:
import express from 'express';
const app = express();
您的文件中可能有 "type": "module"
。这就是为什么你必须使用 import
而不是 require
.
您应该可以使用 import express from "express"
它才能正常工作。
我正在学习 express 运行 终端的代码给我错误,下面是我的代码和终端错误提示
const express = require("express");
const app = express();
app.listen(3000);
终端说:
ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and 'C:\Users\ENIOLA YUSUFF\desktop\my-express-server\package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
at file:///C:/Users/ENIOLA%20YUSUFF/desktop/my-express-server/server.js:5:17
←[90m at ModuleJob.run (node:internal/modules/esm/module_job:197:25)←[39m
at async Promise.all (index 0)
←[90m at async ESMLoader.import (node:internal/modules/esm/loader:337:24)←[39m
←[90m at async loadESM (node:internal/process/esm_loader:88:5)←[39m
←[90m at async handleMainPromise (node:internal/modules/run_main:61:12)←[39m
我尝试使用下面的代码,而不是认为这是节点版本的差异,但它解决了一半的问题。
import * as express from "express";
const app = express();
app.listen(3000);
终端错误:
$ node server.js
file:///C:/Users/ENIOLA%20YUSUFF/desktop/my-express-server/server.js:2
const app = express();
^
TypeError: express is not a function
at file:///C:/Users/ENIOLA%20YUSUFF/desktop/my-express-server/server.js:2:13
at ModuleJob.run (node:internal/modules/esm/module_job:197:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
at async loadESM (node:internal/process/esm_loader:88:5)
at async handleMainPromise (node:internal/modules/run_main:61:12)
试试这个:
import express from 'express';
const app = express();
您的文件中可能有 "type": "module"
。这就是为什么你必须使用 import
而不是 require
.
您应该可以使用 import express from "express"
它才能正常工作。