Getting "SyntaxError: Unexpected token '/' in...index.ejs while compiling ejs" error after updating npm packages
Getting "SyntaxError: Unexpected token '/' in...index.ejs while compiling ejs" error after updating npm packages
我刚刚从 2.7.4 to 3.1.5
和我项目中的其他一些包更新了 EJS
。这样做后,我无法访问任何网页,而是收到错误消息。显然所有页面都会抛出相同的错误。除此之外,我在我的 ejs 模板中的一些代码中遇到了 VS Code 错误,这在以前并不重要。我的意思是在我更新所有 npm 包之前错误就已经存在并且应用程序运行良好。
这是终点:
router.get("/", async (req, res) => {
try{
const url = `http://api.example.co/?key=${process.env.API_KEY}`;
const fullData = await axios.get(url);
res.render("../views/index", {data: fullData});
}catch(err) {
res.render("../views/index", {data: null});
}
});
这是错误:
这是我在我的 ejs 模板中获取数据的方式:
<% if(data){ %>
Name <%= data.name %>
<% } %>
这是我的 ejs 模板中脚本标签中的代码,显示红色下划线:
<script type="text/javascript" >
<% if(data) { %>
var map = L.map('map').setView([<%= data.latitude %>, <%= data.longitude %>], 11);
var marker = L.marker([<%= data.latitude %>, <%= data.longitude %>]).addTo(map);
L.tileLayer('https://api.maptiler.com/maps/streets/{z}/{x}/{y}.png?key=boomBoomBoomm', {
attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>'
}).addTo(map);
<% } %>
</script>
可能是什么问题?难道我做错了什么?某些内容的更新是否与其他内容发生冲突?请帮忙!
找到问题了。显然,较新版本的 EJS 需要以与以前不同的方式包含部分页眉和页脚。
所以改变这个:
<% include ./partials/header %>
至
<%- include ("./partials/footer") %>
已解决问题。
我刚刚从 2.7.4 to 3.1.5
和我项目中的其他一些包更新了 EJS
。这样做后,我无法访问任何网页,而是收到错误消息。显然所有页面都会抛出相同的错误。除此之外,我在我的 ejs 模板中的一些代码中遇到了 VS Code 错误,这在以前并不重要。我的意思是在我更新所有 npm 包之前错误就已经存在并且应用程序运行良好。
这是终点:
router.get("/", async (req, res) => {
try{
const url = `http://api.example.co/?key=${process.env.API_KEY}`;
const fullData = await axios.get(url);
res.render("../views/index", {data: fullData});
}catch(err) {
res.render("../views/index", {data: null});
}
});
这是错误:
这是我在我的 ejs 模板中获取数据的方式:
<% if(data){ %>
Name <%= data.name %>
<% } %>
这是我的 ejs 模板中脚本标签中的代码,显示红色下划线:
<script type="text/javascript" >
<% if(data) { %>
var map = L.map('map').setView([<%= data.latitude %>, <%= data.longitude %>], 11);
var marker = L.marker([<%= data.latitude %>, <%= data.longitude %>]).addTo(map);
L.tileLayer('https://api.maptiler.com/maps/streets/{z}/{x}/{y}.png?key=boomBoomBoomm', {
attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>'
}).addTo(map);
<% } %>
</script>
可能是什么问题?难道我做错了什么?某些内容的更新是否与其他内容发生冲突?请帮忙!
找到问题了。显然,较新版本的 EJS 需要以与以前不同的方式包含部分页眉和页脚。
所以改变这个:
<% include ./partials/header %>
至
<%- include ("./partials/footer") %>
已解决问题。