我正在整理东西。因此,与其在我的页面上没有包含所有代码的脚本标签,而是要插入一个指向具有执行所需任务的代码的javascript文件的标签。
我遇到的问题是,我在Firefox中使用以下代码得到了“ SyntaxError:预期表达式,得到了<<< / ”:
Node.js路由:
app.get("/testpage", function(req, res){
var theObject = {
id: 123,
name: "Bob"
}
res.render("testpage", {objectFromNode: theObject});
});
我的javascript文件(myjavascriptfile.js):
var myObj= <%-JSON.stringify(objectFromNode)%>
console.log(myObj);
HTML(testpage.ejs):
<html>
<head>
<title>
</title>
<script src="../public/js/myjavascriptfile.js"></script>
</head>
<body>
<h1>Test Page</h1>
</body>
</html>
当我将javascript放在页面本身的script标签内时,一切都会按需工作。
有人知道为什么会发生这种情况以及如何解决吗?
答案 0 :(得分:0)
您也必须“渲染” JavaScript文件。因为我既不知道路由,也不知道ejs,所以我只能根据您的代码来模仿:
this.secondary = this.secondary.concat({ primaryID: primary.primaryID, name: primary.name, isChecked: false });
app.get("/js/myjavascriptfile.js", function(req, res){
var theObject = {
id: 123,
name: "Bob"
}
res.render("testjavascriptfile", {objectFromNode: theObject});
});
将是带有ejs标记的JS代码:
testjavascriptfile.ejs