我是node.js和表达新手。
我正在构建一个使用ejs的应用程序,我希望有一个constants
文件用于面向用户的字符串,所以我可以使用.ejs文件
<%= constants.WELCOME %>
显示欢迎讯息。
我相信我可以在我的app.js
文件中定义本地人:
app.locals.WELCOME = "Hi and welcome to my app";
但这很快就会变得很麻烦。
我想要一个constants.js文件:
module.exports = {
WELCOME: 'Hi and welcome to my app",
ENTER_USERNAME: "Please enter your username",
etc.
}
但我不确定如何定义允许我从任何地方访问常量的中间件函数app.use( <?> )
。
我是否正确地考虑了这个问题,还是有更好的实施方法?
如何设置常量文件并将其用作中间件?这会算作中间件吗?
答案 0 :(得分:1)
我建议使用类似i18n的东西。它主要用于在应用程序中使语言国际化,但具有集中字符串常量的额外好处。它也可以很好地运行,或者对许多流行的JS框架都有绑定。
答案 1 :(得分:1)
You don't need a middleware unless something is specific to the request or response (e.g. if you want to internationalize as @zero298 suggests). If you just want a file of constants available, you can just do:
app.locals = require('./path/to/constants.js');
and then define constants.js the way you asked to.
If you really want a middleware, the signature is:
module.exports = function(req,res,next){
// however you want to manipulate the req or res
return next();
}
and then:
app.use(yourMiddleware);