Javascript 如何在把手模板中包含脚本元素?
因此,我试图为我的一个.hbs模板创建一个客户端JavaScript文件。但当我在html代码中添加标记时,它似乎甚至没有加载.js文件。我四处寻找解决方案,但我找不到任何关于车把的明确答案,至少我无法理解 我试过: 指定type=“text/javascript” 在main.hbs中{{{body}}}正下方添加标记,只是为了查看它是否有效,但什么都没有发生。 玩弄.js文件,但它显然没有得到执行 booking-functions.hbs 预订.hbsJavascript 如何在把手模板中包含脚本元素?,javascript,html,handlebars.js,express-handlebars,Javascript,Html,Handlebars.js,Express Handlebars,因此,我试图为我的一个.hbs模板创建一个客户端JavaScript文件。但当我在html代码中添加标记时,它似乎甚至没有加载.js文件。我四处寻找解决方案,但我找不到任何关于车把的明确答案,至少我无法理解 我试过: 指定type=“text/javascript” 在main.hbs中{{{body}}}正下方添加标记,只是为了查看它是否有效,但什么都没有发生。 玩弄.js文件,但它显然没有得到执行 booking-functions.hbs 预订.hbs 检查脚本url是否有效,打开页面,检
检查脚本url是否有效,打开页面,检查浏览器中的源代码,然后单击脚本src(
。/functions/booking functions.js
),如果正确打开js文件是一个js问题(但我坚信路由不可访问)。单击它会将我带到:localhost:port/functions/booking functions,这是我得不到的,所以我显然是个新手。但是,当浏览器读取标记时,它会向localhost:8080/functions/booking-funtions.js发送一个GET请求。所以我现在想知道的是,当我请求一个网页时,我的路由器文件中是否应该有响应?当你停留在网页上时,你如何用一个js文件来回应呢?这个文件应该在你的public
文件夹中,这样浏览器就可以请求它作为一个静态文件。我也试过了,我仍然发现404找不到。
console.log("test")
document.addEventListener("DOMContentLoaded", function(){
console.log("In bookingfunctions")
// bunch of code
})
<div>
<script src="../functions/booking-functions.js"></script>
// Bunch of html that works fine with handlebars
</div>
```
main.hbs
======
```
<!DOCTYPE html>
<html lang="en">
<head>
// Nothing javascript or handlebars related here
</head>
<body>
// Navbarcode and such
//Login check with #if handlebars
{{{body}}}
</body>
</html>
const path = require('path')
const express = require('express')
const expressHandlebars = require('express-handlebars')
const variousRouter = require('./routers/various-router')
const accountRouter = require('./routers/account-router')
const bookingRouter = require('./routers/booking-router')
const app = express()
//Session code here
// Setup express-handlebars.
app.set('views', path.join(__dirname, 'views'))
app.engine('hbs', expressHandlebars({
extname: 'hbs',
defaultLayout: 'main',
layoutsDir: path.join(__dirname, 'layouts')
}))
// Handle static files in the public folder.
app.use(express.static(path.join(__dirname, 'public')))
//body parser middleware
app.use(express.json());
app.use(express.urlencoded({extended:false}));
// Attach all routers.
app.use('/', variousRouter)
app.use('/accounts', accountRouter)
app.use('/booking', bookingRouter)