javascript - ^ 语法错误:意外的标记 '<'
问题描述
我正在尝试在发布请求中呈现 cart.ejs 文件。
我的购物车.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="cart-container">
<p id="cart-title">Your<strong>Cart</strong></p>
<div id="empty-cart">
<h1>Your Cart is Empty..</h1>
</div>
</body>
</html>
购物车.js
const express = require('express');
const router = express.Router();
const Cart = require('../model/cart');
router.post('/',async (req,res) => {
console.log(req.params.name);
const carts= new Cart({
name:req.body.name,
qty:parseInt(req.body.quantity)
});
try{
const a= await carts.save();
res.render('cart');
console.log(carts);
}catch(err)
{
res.send(err);
}
});
module.exports = router;
我无法找出错误是什么。我在运行服务器时收到 ^ SyntaxError: Unexpected token '<' error。我检查了堆栈溢出中所有可能的答案,但无济于事。
解决方案
var cart = require('./views/cart.ejs');
require
用于加载 JavaScript 模块(通常是 CommonJS 模块格式,但有时是 ES6 模块格式)。
EJS 文件不是JavaScript 模块。它们需要使用 EJS 编译器加载(当您使用 Express 时,通常使用 Express.js 指南中使用模板引擎render
中描述的方法完成。即您在 carts.js 中所做的事情。
我不知道你为什么要尝试require
一个,你没有提供 app.js,但没有。
推荐阅读
- mysql - MySQL将列设置为null不起作用
- javascript - 计算非线性 CSS 过渡持续时间以指定初始速度为目标
- node.js - 如何在通过 AJAX 从 multer 上传多个文件时读取节点端的每个文件数据?
- activemq-artemis - ActiveMQ Artemis 不传递保留消息
- tensorflow - Anaconda 在 tensorflow 环境中安装 keras-tuner
- php - 如何为移动和桌面设备提供两个不同的 html 页面
- android - 如何在 Android 的日历视图中设置日期范围
- python - 根据 groupby 计算创建新列
- php - 为什么我不能在反应本机应用程序中显示我的 php 文件的数据
- python - 比较 Python 中对象的位表示