【发布时间】:2018-07-25 19:20:10
【问题描述】:
我有以下文件:
server.js:
app.get('/main/:id', function(req, res) {
res.render('main', { products: products });
})
main.hbs:
<div class="products">
{{#each products }}
{{ this.product_id }}
{{ this.product_name }}
{{/each}}
</div>
<script>
$(document).ready(function() {
$(".add-to-cart").click(function() {
const products = {
item_id: $(this).attr('item_id'),
item_name: $(this).attr('item_name'),
}
shopping_cart = new ShoppingCart();
shopping_cart.addtoCart(products);
})
})
</script>
脚本/shopping_cart.js:
function ShoppingCart() {
this.addtoCart = function(products) {
//save products to server etc..
}
}
module.exports = ShoppingCart;
我唯一的问题是我试图在 main.hbs 文件中包含 shopping_cart 脚本,但没有成功
一开始我是在 main.hbs 中做的:
<script src="../scripts/shopping_cart.js"></script>
但我在浏览器中收到错误:“未捕获的 ReferenceError:模块未定义”
我尝试将它打包成一个 bundle.js 文件: 我没有错误,但是如果我单击“添加到购物车”按钮,我会得到: “未捕获的 ReferenceError:未定义 ShoppingCart”
请帮助我了解如何包含 shopping_cart.js 文件并能够创建该类的新实例的正确方法。
谢谢。
【问题讨论】:
标签: javascript node.js express handlebars.js