javascript - 更新 npm 包后出现“SyntaxError: Unexpected token '/' in...index.ejs while compiling ejs”错误
问题描述
我刚刚更新EJS
了2.7.4 to 3.1.5
项目中的其他一些软件包。这样做后,我无法访问任何网页,而是出现错误。显然所有页面都会引发相同的错误。除此之外,我的 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") %>
解决了这个问题。
推荐阅读
- javascript - 如何将由 javascript 创建的文件发送到服务器,然后由 django 处理,以便通过电子邮件发送?
- firebase - Firebase iOS SDK 无法访问代理后面的实时数据库
- android - 在 Xamarin Android 中启动一个新的 Activity 而不会中断当前的 Activity?
- python - 打印 pyspark 数据框列中的所有类别
- javascript - 在firebase中查找集合长度
- windows - 将分钟(整数)及时添加到批处理文件
- c# - 如果文本框为空,则数据库中的自动空值
- javascript - 如何处理异步循环函数中的等待调用-nodejs
- android - 我怎样才能像这个应用程序一样自动添加这个扫描号码和设置文本?
- ios - 需要帮助为 swift 应用程序创建深度链接/动态链接