您需要两个不同的文件。所以我不确定你为什么认为你在重复自己。
最终,您应该将语言文件转换为位于本地 node_modules 文件夹或您的应用程序使用的同一 node_modules 中的实际模块。
这样你就可以像这样要求你的语言模块。
var language = require('language');
在你的语言模块里面应该有一个索引文件和 lib 目录。
index.js
exports.en= require('./lib/en'),
exports.fr= require('./lib/fr'),
exports.de= require('./lib/de'),
然后你就可以像这样使用你的模块了。
exports.index = function(req, res){
language = require('language');
try {
var words = language[req.headers["accept-language"].substr(0, 2).toLowerCase()]();
} catch(err) {
console.log("no language found - falling back to english");
var words = language.en();
}
res.render('index', { language: words });
};
用这个替换上面的。
exports.index = function(req, res){
var language = require('language');
supported_languages = ['en', 'fr' , 'de'],
accept_language = req.headers["accept-language"].substr(0, 2).toLowerCase();
if(supported_languages.indexOf(accept_language) !== -1){
var words = language[accept_language]();
}else {
console.log("no language found - falling back to english");
var words = language.en();
}
res.render('index', { language: words });
};