【发布时间】:2020-12-22 16:06:52
【问题描述】:
我在 server.js 中有这个明确的配置:
const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(crossOriginRequest());
app.use(setSecurityHttpHeaders());
app.use(preventMongoOperatorInjection());
app.use(preventXssAttacks());
app.listen(80);
如何在另一个文件中设置所有这些中间件?示例:
const app = express();
setBasicMiddlewares(app);
app.listen(80);
在 setBasicMiddlewares.js 中(这是我想要的一个例子,我不相信它有效):
function setBasicMiddlewares(app) {
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(crossOriginRequest());
app.use(setSecurityHttpHeaders());
app.use(preventMongoOperatorInjection());
app.use(preventXssAttacks());
}
export default setBasicMiddlewares;
我正在使用带有“import”和“export default”的节点模块
由于 ES6 模块,这个问题与另一个问题不同。另一个问题是询问路线。
【问题讨论】:
-
考虑使用
export default-> stackoverflow.com/questions/40294870/… -
嗨,爸爸游戏!我阅读了您发送的问题,但我的环境使用节点 v14.8,因此它确实读取了 ES6。我错误地认为我应该使用“导出默认值”(也许我不明白)?您发送的问题是 4 年前写的。
-
FaltFe,这并不能回答我的问题,因为它不是用 ES6 编写的,它确实指的是不同类型的中间件
-
app.listen 两次根本行不通,你应该有一个入口点(index.js、server.js 等),然后导入/要求 routes 使用它们如果需要,自己的包等。
标签: javascript node.js rest express node-modules