totorojs/totoro

--runner=/path/of/local/file?query#hash 时,报找不到文件错误

Closed this issue · 0 comments

fs.js:427
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory '/Users/fool2fish/Projects/totorojs/totoro/examples/syntax-error/tests/runner.html?test'
    at Object.fs.openSync (fs.js:427:18)
    at Object.fs.readFileSync (fs.js:284:15)
    at findRunnerRoot (/Users/fool2fish/Projects/totorojs/totoro/lib/handle-cfg.js:110:22)
    at handleClientRoot (/Users/fool2fish/Projects/totorojs/totoro/lib/handle-cfg.js:74:26)
    at handleCfg (/Users/fool2fish/Projects/totorojs/totoro/lib/handle-cfg.js:38:5)
    at new Client (/Users/fool2fish/Projects/totorojs/totoro/lib/index.js:23:16)
    at Object.<anonymous> (/Users/fool2fish/Projects/totorojs/totoro/bin/totoro:78:23)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

原因

handle-cfg.js 的 findRunnerRoot() 没有过滤 runner 后跟的 querystring 和 hash,导致打开文件时错误