我的 server.js 文件返回以下错误:ReferenceError: require is not defined
server.js:
import express from 'express'
import { readdirSync } from 'fs';
const app = express()
// Route middleware
readdirSync('./routes').map((route) =>
app.use('/api', require(`./routes/${route}`))
)
const port = 8000
app.listen(port, () => console.log(`listening on port ${port}`))
请注意,在我的 package.json 中,我使用了:"type": "module" 只是为了使用 import 而不是 require。
答案 0 :(得分:0)
你的文件是 ES6 JS,一种 .mjs 文件;并且您同时使用 import
和 require
(ES5)。要在 ES6 JS 代码中使用 require
,这个模块很好:mjs-require
安装 mjs-require
以在 ES6 代码中使用 require
函数:
npm i mjs-require --save
在启用 require
函数的情况下运行 .mjs 文件:
node --experimental-modules -r mjs-require yourfile.mjs