Я хочу получить все файлы Markdown, начинающиеся со слова scene
(например, scene-01.md
), объединить их, а затем объединить их содержимое в файл.
Это код:
import * as fs from 'fs'
import * as path from 'path'
const dirname = path.join(__dirname, '../')
const filenameStart = 'scene'
const resultFileName = 'result.md'
var filenames = fs.readdirSync(dirname).filter(file => file.startsWith(filenameStart))
let result: string
filenames.forEach(filename => {
console.log(filename)
const content = fs.readFileSync(dirname + filename, 'utf-8')
result += content
})
console.log('finished')
fs.writeFileSync(resultFileName, result)
Код работает, но в самом верху сгенерированного файла есть слово undefined
(result.md
):
undefined<!--
Scene: 1
-->
Я думал, writeFileSync
пытался написать контент до того, как readFileSync
было сделано. Поэтому я добавил несколько журналов консоли. Но порядок кажется правильным:
scene-01.md
scene-02.md
scene-03.md
scene-04.md
finished
В чем может быть проблема? И как это решить?