我想获取所有以scene
开头的Markdown文件(例如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
可能是什么问题?以及如何解决?
结果是不确定的,将其设置为空字符串。
let result = ''
尝试一下。