javascript - 如何将 expressJS 服务器代码拆分为不同的文件
问题描述
这只是我的快递服务器的一部分。我想将代码拆分为不同的文件。
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.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)
}
服务器.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);
推荐阅读
- apache-flink - Flink SQL 是否支持并行运行投影
- ruby-on-rails - rails 5 - 带有#or 和#joins 的范围:如何解决限制?
- sql - sql 选择入类
- java - Java 数组响应而不是括号
- jupyter-notebook - Jupyter notebook/lab 或 contrib 扩展中是否有任何 GOTO 功能?
- c# - 导航属性未更新
- android - 触摸 EditText、按钮时 ViewPager 不可滚动
- python - Matplotlib 中有太多虚线似乎是直线的数据
- ios - iOS12系统下,APP无法正常显示图片
- powershell - PowerShell:在多行输入文件的一行中选择字符串