nodeJSはファイルの拡張子名に基づいてファイルを読み込み、ファイルの総数に一致するように戻ります.
第一歩expressをインストールしてサービスを開始します.
appJSファイルの内容
第1ステップは、ファイル名からファイル内容に戻ることを実現する.
const express = require('express')
const app = new express()
app.listen(5000, () => {
console.log(running...)
})
第二ステップのルーティング設定appJSファイルの内容
const express = require('express')
const router = require('./router/index') //
const app = new express()
app.use(router)
app.listen(5000, () => {
console.log(running...)
})
ルートモジュールの内容const express = require('express')
const fs = require('fs') //
const path = require('path') //
const router = new express.Router()
//
router.get('/', (req, res) => {
})
// .txt
router.get('/filse', (req, res) => {
})
ルート機能の実現第1ステップは、ファイル名からファイル内容に戻ることを実現する.
router.get('/', (req, res) => {
let fileName = req.query.name
fileName = fileName || 'demo.txt'
//
let filePath = path.resolve(__dirname, `../data/${
fileName}`)
//
fs.readFile(filePath, function (err, data) {
if(err) return console.log(err)
res.send(JSON.stringify(data.toString()))
})
})
二番目のステップはすべてに戻ります.txtファイルの数と名前は、utilフォルダでツールクラスを作成します.ファイルの拡張子に従ってファイルをフィルタリングする方法を実現します.const fs = require('fs')
const path = require('path')
/**
*
* @param { } dir
*/
module.exports = function(dir) {
let files = []
var list = fs.readdirSync(dir)
list.forEach(function(file) {
if(path.extname(file) === '.txt') {
files.push(file)
}
})
let obj = {
num: files.length,
filesName: files
}
return obj
}
第二ステップはルート機能を実現する.const readDir= require('../utils/utils') //
router.get('/files', (req, res) => {
let filePath = path.resolve(__dirname, '../data')
res.send(readDir(filePath))
})
ルートのすべてのコードconst express = require('express')
const fs = require('fs')
const path = require('path')
const router = express.Router()
const readDir = require('../utils/utils')
//
router.get('/', (req, res) => {
let fileName = req.query.name
fileName = fileName || 'demo.csv'
//
let filePath = path.resolve(__dirname, `../data/${
fileName}`)
//
fs.readFile(filePath, function (err, data) {
if(err) return console.log(err)
res.send(JSON.stringify(data.toString()))
})
})
//
router.get('/files', (req, res) => {
let filePath = path.resolve(__dirname, '../data')
res.send(readDir(filePath))
})
// 404
router.all('*', (req, res) => {
fs.readFile(path.resolve(__dirname, '../public/404.html'), (err, data) => {
if(err) throw err
res.send(data.toString())
})
})
module.exports = router