- fileA.md

问题描述 投票:0回答:1

给定一个包含markdown文件的目录,即 "Node"。

myDir
|- fileA.md
|- fileB.md
|- fileC.md
|- fileD.md

我试图创建一个包含这些文件的数组,同时去掉文件的扩展名。

我正在用这个方法尝试。

var mdFiles = fs.readdir('myDir', (err, files) => {

    const filesNoExt = []

    files.forEach( file => {      
        filesNoExt.push(file.slice(0, -3)
    })
    return filesNoExt
});

console.log(mdFiles)

但结果是 console.log 命令是 undefined.

如果我像这样修改这个脚本(所以,通过在脚本中添加一个 console.log 里面 readdir 函数)。)

var mdFiles = fs.readdir('myDir', (err, files) => {

    const filesNoExt = []

    files.forEach( file => {      
        filesNoExt.push(file.slice(0, -3)
    })
    console.log(filesNoExt)
});

console.log(mdFiles)

这是我得到的结果。

undefined
[
  'fileA',
  'fileB',
  'fileC',
  'fileD'
]

第一行是 undefined 的结果,但随后也打印了 console.log 内的函数,这表明 filesNoExt 数组正确地填充了剥离的文件名。

我如何才能正确地返回 filesNoExt 数组中的 mdFiles 函数,这样我就可以从外部访问它的内容?

javascript node.js fs
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.