Javascript 如何在把手模板中包含脚本元素?

Javascript 如何在把手模板中包含脚本元素?,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是否有效,打开页面,检

因此,我试图为我的一个.hbs模板创建一个客户端JavaScript文件。但当我在html代码中添加标记时,它似乎甚至没有加载.js文件。我四处寻找解决方案,但我找不到任何关于车把的明确答案,至少我无法理解

我试过: 指定type=“text/javascript” 在main.hbs中{{{body}}}正下方添加标记,只是为了查看它是否有效,但什么都没有发生。 玩弄.js文件,但它显然没有得到执行

booking-functions.hbs 预订.hbs
检查脚本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)