Javascript 在HTML中的OnClick事件之后在节点服务器上运行JS函数

Javascript 在HTML中的OnClick事件之后在节点服务器上运行JS函数,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我在Windows上使用node.js,并使用express模块生成一个静态页面,其中包含一个提交表单,我希望在服务器上运行更新功能,即当有人单击提交按钮时,不要公开我的js文件 问题: 似乎我的更新函数无法从HTML中识别。生成以下错误: 未捕获引用错误:未定义更新 在HTMLInputElement.onclick索引处:23 我怀疑这是由于我的节点项目设置不正确造成的 服务器文件Server.js: HTML文件index.HTML: ^^请注意,这是我正在尝试使用的示例脚本 我的文件夹结

我在Windows上使用node.js,并使用express模块生成一个静态页面,其中包含一个提交表单,我希望在服务器上运行更新功能,即当有人单击提交按钮时,不要公开我的js文件

问题:

似乎我的更新函数无法从HTML中识别。生成以下错误:

未捕获引用错误:未定义更新 在HTMLInputElement.onclick索引处:23

我怀疑这是由于我的节点项目设置不正确造成的

服务器文件Server.js:

HTML文件index.HTML:

^^请注意,这是我正在尝试使用的示例脚本

我的文件夹结构

注:

以前,当我不使用节点时,从onclick调用update是有效的。 您缺少html文件中指向compute.js文件的脚本标记,这就是更新无法工作的原因


只需复制html文件中已有的脚本,并将src属性更改为compute.js value

节点在服务器端运行。您希望做的是客户端执行。也许您需要index.html中的compute.js文件?您似乎只需要start.js?但是,如果您不想让节点服务器端进行通信,您将需要一个传输,例如http、web套接字或类似的东西。@PavanAndhukuri,这是有道理的。我很乐意为服务器端执行重构代码。第一步是什么?或者您可以提供文档的链接吗?@nijm您是对的,代码在客户端运行。我编辑了这篇文章,以获得一些关于将代码从客户端移动到服务器端的帮助。但是,如果您有任何文档,很乐意阅读。
var fs = require('fs');
var express = require("express");
var app     = express();

app.get('/',function(req,res){
  res.sendFile(path.join(__dirname+'/index.html'));
  //__dirname : It will resolve to your project folder.
});

//loading all files in public folder
//see instructions in https://expressjs.com/en/starter/static-files.html
app.use(express.static('public'));

app.listen(8080);

console.log("Running at Port 8080");
<!DOCTYPE html>
<html>

<body>

<div id="div1">
  <p id="p1">This is a static paragraph.</p>
</div>

<p>
  <script type="text/javascript" src="start.js"></script>
</p>

Input:
<br>
<input type="text" name="human_input" value="">
<br>
<input type="button" value="Submit" onclick="update()">

</body>
</html>
function update() {
    console.log("this is running!")
}
/
- node_modules
-- *
- public
-- start.js
- index.html
- compute.js
- package-lock.json
- server.js
- start.js