面向用户的字符串的常量中间件
Constants middleware for user-facing strings
我是 node.js 和 express 的新手。
我正在构建一个使用 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( <?> )
让我可以从任何地方访问我的常量。
我考虑的是否正确,或者是否有更好的实施方式?
如何设置常量文件并将其用作中间件?这还能算是中间件吗?
我建议使用 i18n 之类的东西。它主要用于应用程序中的国际化语言,但具有集中字符串常量的额外好处。它还可以很好地运行或绑定许多流行的 JS 框架。
除非特定于请求或响应(例如,如果您想按照@zero298 的建议进行国际化),您不需要中间件。如果你只是想要一个可用的常量文件,你可以这样做:
app.locals = require('./path/to/constants.js');
然后按照您要求的方式定义 constants.js。
如果你真的想要一个中间件,签名是:
module.exports = function(req,res,next){
// however you want to manipulate the req or res
return next();
}
然后:
app.use(yourMiddleware);
我是 node.js 和 express 的新手。
我正在构建一个使用 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( <?> )
让我可以从任何地方访问我的常量。
我考虑的是否正确,或者是否有更好的实施方式?
如何设置常量文件并将其用作中间件?这还能算是中间件吗?
我建议使用 i18n 之类的东西。它主要用于应用程序中的国际化语言,但具有集中字符串常量的额外好处。它还可以很好地运行或绑定许多流行的 JS 框架。
除非特定于请求或响应(例如,如果您想按照@zero298 的建议进行国际化),您不需要中间件。如果你只是想要一个可用的常量文件,你可以这样做:
app.locals = require('./path/to/constants.js');
然后按照您要求的方式定义 constants.js。
如果你真的想要一个中间件,签名是:
module.exports = function(req,res,next){
// however you want to manipulate the req or res
return next();
}
然后:
app.use(yourMiddleware);