nodejs中如何处理onLoad和onClick事件
How to deal with onLoad and onClick events in nodejs
我正在尝试将未使用 node.js 的应用程序转换为节点格式。
初始应用程序仅包含一个 code.js
文件和 index.html
文件,如下所示:
<html>
<head>
...
<script type="text/javascript" src="code.js"></script>
</head>
<body onload="load()">
(...)
<div style="position:absolute; top:250px; left:20px">
<input type="button" onClick="init()" value="New game">
(...)
</body>
</html>
为了将其转换为节点格式,我将 index.html
重命名为 views/index.ejs
,并将 js 函数替换为 ejs 引号:
<html>
...
<body onload="<%= load %>()">
(...)
<div style="position:absolute; top:250px; left:20px">
<input type="button" onClick="<%=init %>()" value="New game">
(...)
</body>
</html>
我还在 code.js 文件的末尾添加了以下内容:
module.exports={
load:load,
init:init
}
最后,在我的 app.js
主节点文件中,我有以下相关片段:
var exportedValues = require('./code.js');
app.get('/', (req,res) => {
res.render('index.ejs',exportedValues);
});
这几乎可以工作:当我检查控制台时,ejs 引号确实被 load
和 init
函数的定义所取代,但是这些定义又使用其他函数在 code.js
中定义,浏览器不知道如何处理它们。
正确的做法是什么?
您无需对 html 中加载的代码执行任何操作; none 的 ejs 语法是必需的。一旦将 html/ejs 发送到客户端,它将像往常一样请求 js 资源 (code.js)。如果您希望服务器上的一些代码 运行 响应客户端的某些操作,那么您可以向服务器发送一个带有可选参数的请求,并让服务器 return 在完成后做出响应一些工作。
您可以查看这些资源来了解客户端和服务器之间的通信:
我正在尝试将未使用 node.js 的应用程序转换为节点格式。
初始应用程序仅包含一个 code.js
文件和 index.html
文件,如下所示:
<html>
<head>
...
<script type="text/javascript" src="code.js"></script>
</head>
<body onload="load()">
(...)
<div style="position:absolute; top:250px; left:20px">
<input type="button" onClick="init()" value="New game">
(...)
</body>
</html>
为了将其转换为节点格式,我将 index.html
重命名为 views/index.ejs
,并将 js 函数替换为 ejs 引号:
<html>
...
<body onload="<%= load %>()">
(...)
<div style="position:absolute; top:250px; left:20px">
<input type="button" onClick="<%=init %>()" value="New game">
(...)
</body>
</html>
我还在 code.js 文件的末尾添加了以下内容:
module.exports={
load:load,
init:init
}
最后,在我的 app.js
主节点文件中,我有以下相关片段:
var exportedValues = require('./code.js');
app.get('/', (req,res) => {
res.render('index.ejs',exportedValues);
});
这几乎可以工作:当我检查控制台时,ejs 引号确实被 load
和 init
函数的定义所取代,但是这些定义又使用其他函数在 code.js
中定义,浏览器不知道如何处理它们。
正确的做法是什么?
您无需对 html 中加载的代码执行任何操作; none 的 ejs 语法是必需的。一旦将 html/ejs 发送到客户端,它将像往常一样请求 js 资源 (code.js)。如果您希望服务器上的一些代码 运行 响应客户端的某些操作,那么您可以向服务器发送一个带有可选参数的请求,并让服务器 return 在完成后做出响应一些工作。
您可以查看这些资源来了解客户端和服务器之间的通信: