knex sqlite express insert数据并axios.post示例
时间: 2024-10-17 20:09:33 浏览: 25
Knex.js是一个用于Node.js环境的SQL查询构建器,它可以帮助你更方便地与SQLite等数据库交互。Express.js是一个轻量级的Web应用框架。在这里,我们将展示如何使用它们配合axios库向SQLite数据库插入数据,并通过axios发送POST请求。
首先,确保已安装knex、sqlite3和axios库:
```bash
npm install knex sqlite3 axios
```
创建一个knex配置文件(knexfile.js),配置SQLite连接:
```javascript
// knexfile.js
module.exports = {
client: 'sqlite3',
connection: {
filename: 'example.db'
},
useNullAsDefault: true,
};
```
接下来,在Express应用中设置knex上下文:
```javascript
const knex = require('./knexfile');
const app = require('express')();
app.use(knex.initialize({clientConfig: knex}));
// 使用knex插入数据
app.post('/insert', async (req, res) => {
try {
const { data } = req.body;
await knex('your_table_name').insert(data);
res.status(201).json({ message: 'Data inserted successfully' });
} catch (error) {
console.error(error);
res.status(500).json({ error: 'Failed to insert data' });
}
});
```
然后,你可以使用axios从前端发起POST请求到这个端点:
```javascript
// frontend (using Axios)
import axios from 'axios';
axios.post('/insert', {
// 你需要在此处填充的数据
field1: 'value1',
field2: 'value2',
}).then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
```
阅读全文