如何从hbs文件中的外部文件使用javascript方法

如何从hbs文件中的外部文件使用javascript方法,javascript,html,node.js,Javascript,Html,Node.js,假设我有一个简单的项目index.html和一个带有以下方法的.js文件: <!DOCTYPE html> <html lang="pl"> <HEAD> <script src="controller.js"></script> <meta charset="utf-8"/> <title>Project</title> </HE

假设我有一个简单的项目index.html和一个带有以下方法的.js文件:

<!DOCTYPE html>
<html lang="pl">
<HEAD>
<script src="controller.js"></script>
<meta charset="utf-8"/>
  <title>Project</title>
</HEAD>
<body>
<textarea id ="someID" name = "textFieldName"></textarea>
<button onclick="showNewData()">Button</button>
<p id="score"></p>
</body>
</html>
我试着在localhost:3000上做同样的事情。所以我用express和hbs依赖项完成了npm项目。它从server.js文件开始:

const express = require('express');
const port = 3000;
 
const app = express();
app.set('view engine', 'hbs');
 
app.get('/', (req, res) => {
    res.render('index')
})
 
app.listen(port);
在“视图”文件夹中,我有一个hbs文件,看起来和以前的index.html文件一样,但它不能使用外部文件中的javascript方法。有人知道怎么做吗

在hbs文件中

就浏览器所知,它是HTML。客户端不关心,也不知道HTTP响应是通过读取静态文件生成的,还是通过某种形式的服务器端处理动态生成的

src
属性的值必须解析为包含JavaScript的URL

您的web服务器知道的唯一URL(因此将提供404错误以外的任何内容)是
/

如果您希望
/controller.js
提供一个js文件,那么您需要编写代码来实现这一点


如何处理。

好的。它起作用了。非常感谢。:)
const express = require('express');
const port = 3000;
 
const app = express();
app.set('view engine', 'hbs');
 
app.get('/', (req, res) => {
    res.render('index')
})
 
app.listen(port);
src="controller.js"
app.get('/', (req, res) => {
    res.render('index')
})