≪ Today I learned.
RSS購読
    公開日
    タグ
    JavaScript , Node.js
    著者
    ダーシノ

    Node.jsの引数にパスを渡すときは引用符でくくる

    引用符なしの場合、src/**/*.jsが文字列としてではなく、このパターンに一致するパスが引数に渡ってしまう。そのため「ダメな例」でtargetを出力するとsrc/**/*.jsではなくsrc/index.jsという文字列になる。

    // glob.js
    import { globSync } from 'node:fs'
    import { argv } from 'node:process'
    
    const [_node, _file, target] = argv
    
    const paths = globSync(target)
    console.log(paths)

    ダメな例(引用符なし)

    $ node glob.js src/**/*.js
    ["src/index.js"]

    良い例(引用符あり)

    $ node glob.js 'src/**/*.js'
    [
      "src/index.js",
      "src/path/index.js",
      "src/path/to/index.js"
    ]