gpt4 book ai didi

javascript - 如何将 expressJS 服务器代码拆分到不同的文件中

转载 作者:行者123 更新时间:2023-11-30 19:32:07 25 4
gpt4 key购买 nike

这只是我的 express 服务器的一部分。我想将代码拆分到不同的文件中。

import express from 'express'
const app = express()

app.get('/import', async (req, res) => {
var fs = require('fs')

fs.createReadStream('./src/data.csv')
.pipe(parse({
delimiter: ',',
skip_lines_with_error: true
}))
.on('error', function (err) { console.log(err) })
.on('data', async function (row) {
// do a lot of stuff here
})

res.status(200)
})

在这种情况下,import 应该从另一个文件导入,但我不知道该怎么做。

helper/import.js

export const import = (req, res) => {
var fs = require('fs')

fs.createReadStream('./src/data.csv')
.pipe(parse({
delimiter: ',',
skip_lines_with_error: true
}))
.on('error', function (err) { console.log(err) })
.on('data', async function (row) {
// do a lot of stuff here
})

res.status(200)
}

server.js

import express from 'express'
const app = express()

app.get('/import') // <-- ??

这里如何获取异步函数?

最佳答案

所以你基本上想把路由放在不同的文件中。

我倾向于创建一个包含我所有“路线”的文件夹。

让我们以 import.js 为例。文件如下所示:

const express = require('express');
const router = express.Router();

router.get('/', (req, res) => {
var fs = require('fs')

fs.createReadStream('./src/data.csv')
.pipe(parse({
delimiter: ',',
skip_lines_with_error: true
}))
.on('error', function (err) { console.log(err) })
.on('data', async function (row) {
// do a lot of stuff here
})

res.status(200)
});

module.exports = router;

然后您的 server.js 将实现...

const importRouter = require("./helper/import.js");

app.use('/import', importRouter);

关于javascript - 如何将 expressJS 服务器代码拆分到不同的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56327135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com