为什么我在 EJS 中收到错误 "not defined"?
Why do I get an error "not defined" in EJS?
我正在尝试将一个页面翻译成某种语言,因此我有一个名为 language.js
的文件,其中包含一个存储所有翻译的变量 language_pack
。我在我的服务器文件中引用了包含该文件的文件夹,然后在我的 ejs 文件中继续使用 language_pack
只是被告知它没有定义
我的服务器文件中的代码:
var express = require('express');
var router = express.Router();
// language_pack is located under a file called language.js
// under the configurations folder`var
language_pack = require("../configuration/language.js");
console.log(language_pack)
/* GET home page. */
router.get('/', function(req, res, next) {
console.log("Hello World")
res.render("index", {
lang: "ms",
language_pack: language_pack
});
});
router.get('/MuscleTest', function(req, res, next) {
console.log("Hello World")
res.render("MuscleTest", {
lang: "ms",
language_pack: language_pack
});
});
配置文件夹下的language.js文件中,language_pack定义为:
var language_pack={ms:{
fourth_step:"Sit to stand"
}}
在我的 ejs 文件中,在这一行,当我尝试 运行 时,出现 language_pack
is not defined 错误。:
<h3><%=language_pack[lang]["fourth_step"]%></h3>
您的 language.js
应该如下所示。如果您需要导入或需要某些东西,它应该在该模块 (.js) 中导出。
有关要求的更多信息:https://nodejs.org/en/knowledge/getting-started/what-is-require/
// language.js
module.exports = {
ms: {
fourth_step: "Sit to stand"
}
};
另请更正,
language_pack = require("../configuration/language.js");
作为
const language_pack = require("../configuration/language");
我正在尝试将一个页面翻译成某种语言,因此我有一个名为 language.js
的文件,其中包含一个存储所有翻译的变量 language_pack
。我在我的服务器文件中引用了包含该文件的文件夹,然后在我的 ejs 文件中继续使用 language_pack
只是被告知它没有定义
我的服务器文件中的代码:
var express = require('express');
var router = express.Router();
// language_pack is located under a file called language.js
// under the configurations folder`var
language_pack = require("../configuration/language.js");
console.log(language_pack)
/* GET home page. */
router.get('/', function(req, res, next) {
console.log("Hello World")
res.render("index", {
lang: "ms",
language_pack: language_pack
});
});
router.get('/MuscleTest', function(req, res, next) {
console.log("Hello World")
res.render("MuscleTest", {
lang: "ms",
language_pack: language_pack
});
});
配置文件夹下的language.js文件中,language_pack定义为:
var language_pack={ms:{
fourth_step:"Sit to stand"
}}
在我的 ejs 文件中,在这一行,当我尝试 运行 时,出现 language_pack
is not defined 错误。:
<h3><%=language_pack[lang]["fourth_step"]%></h3>
您的 language.js
应该如下所示。如果您需要导入或需要某些东西,它应该在该模块 (.js) 中导出。
有关要求的更多信息:https://nodejs.org/en/knowledge/getting-started/what-is-require/
// language.js
module.exports = {
ms: {
fourth_step: "Sit to stand"
}
};
另请更正,
language_pack = require("../configuration/language.js");
作为
const language_pack = require("../configuration/language");