nodejs网页计算器
时间: 2023-10-24 20:13:24 浏览: 177
Toptive-Exercice:使用nodejs制作的计算器
好的,我可以为你提供一个简单的Node.js网页计算器的代码示例。在这个示例中,我们将使用Express框架来创建一个Web应用程序,使用HTML和CSS来设计网页界面,使用JavaScript和Node.js来实现计算器的逻辑。
首先,需要安装以下几个依赖项:
- express
- body-parser
可以使用以下命令进行安装:
```
npm install express body-parser
```
接下来,我们创建一个名为`index.js`的文件,并添加以下代码:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static('public'));
app.get('/', (req, res) => {
res.sendFile(__dirname + '/public/index.html');
});
app.post('/calculate', (req, res) => {
const num1 = parseFloat(req.body.num1);
const num2 = parseFloat(req.body.num2);
const operator = req.body.operator;
let result;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
res.send('Invalid operator');
return;
}
res.send(`The result of ${num1} ${operator} ${num2} is ${result}`);
});
const port = 3000;
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
```
这个代码将创建一个Express应用程序,并使用body-parser来解析POST请求中的参数。然后,我们使用`express.static`中间件来提供静态文件服务,其中`public`是一个包含HTML和CSS文件的文件夹。
接下来,我们定义两个路由:
1. `GET /` - 返回一个包含计算器界面的HTML文件
2. `POST /calculate` - 接收表单提交的参数,执行计算逻辑并返回结果
最后,我们启动服务器并监听3000端口。
接下来,我们创建一个名为`public/index.html`的文件,并添加以下代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Node.js Calculator</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Node.js Calculator</h1>
<form action="/calculate" method="POST">
<input type="number" name="num1" required>
<select name="operator" required>
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="number" name="num2" required>
<button>Calculate</button>
</form>
<script src="app.js"></script>
</body>
</html>
```
这个代码将创建一个包含表单的HTML文件,其中包含两个数字输入框和一个下拉菜单(用于选择操作符)。当用户点击“Calculate”按钮时,表单将提交到`/calculate`路由。
最后,我们创建一个名为`public/app.js`的文件,并添加以下代码:
```javascript
const form = document.querySelector('form');
const resultDiv = document.createElement('div');
document.body.appendChild(resultDiv);
form.addEventListener('submit', async (event) => {
event.preventDefault();
const formData = new FormData(form);
const response = await fetch('/calculate', {
method: 'POST',
body: formData
});
const result = await response.text();
resultDiv.textContent = result;
});
```
这个代码将使用JavaScript来监听表单的提交事件,并使用`fetch`函数将表单数据提交到服务器。当服务器返回结果时,JavaScript将在页面上显示结果。
最后,我们创建一个名为`public/style.css`的文件,并添加以下代码:
```css
body {
font-family: sans-serif;
margin: 0;
padding: 0;
}
h1 {
text-align: center;
}
form {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 50px;
}
input, select, button {
font-size: 24px;
margin: 10px;
padding: 10px;
}
button {
background-color: #4CAF50;
color: white;
border: none;
}
button:hover {
cursor: pointer;
}
```
这个代码将为计算器界面添加一些样式。
现在,我们已经完成了Node.js网页计算器的开发。可以使用以下命令启动服务器:
```
node index.js
```
然后,在浏览器中打开`http://localhost:3000`,就可以使用这个计算器了。
阅读全文