1

私は JS がまったく初めてで、Node Cheerio で完全に動けなくなりました。誰かが私を助けてくれれば本当に感謝しています。

私が取り組んでいるコードはこちらです: https://github.com/zafartahirov/bitstarter .

(修正が見つかった後、動作しないコードは grader.old.js と呼ばれます)。

私が走るとき

node ./grader.js --file index.html --checks checks.json | less

エラーが表示されます:

TypeError: Cannot call method 'utf8Slice' of null
    at Buffer.toString (buffer.js:416:26)
    at exports.isTag (/home/ubuntu/GitHub/bitstarter/node_modules/cheerio/lib/utils.js:15:14)
    at Function.filter (/home/ubuntu/GitHub/bitstarter/node_modules/cheerio/node_modules/lodash/dist/lodash.js:3150:15)
    at /home/ubuntu/GitHub/bitstarter/node_modules/cheerio/lib/api/traversing.js:9:26
    at Function.reduce (/home/ubuntu/GitHub/bitstarter/node_modules/cheerio/node_modules/lodash/dist/lodash.js:3734:25)
    at exports.find (/home/ubuntu/GitHub/bitstarter/node_modules/cheerio/lib/api/traversing.js:8:17)
    at new module.exports (/home/ubuntu/GitHub/bitstarter/node_modules/cheerio/lib/cheerio.js:92:18)
    at initialize (/home/ubuntu/GitHub/bitstarter/node_modules/cheerio/lib/static.js:23:12)
    at checkHtmlFile (/home/ubuntu/GitHub/bitstarter/grader.js:59:23)
    at Object.<anonymous> (/home/ubuntu/GitHub/bitstarter/grader.js:76:21)
(END)

助言がありますか?

4

1 に答える 1

4

私たちは同じコースを取っていますが、デバッグするのにかなりの時間がかかりました。cheerio.load()メソッドは、バッファではなく文字列を引数として期待しているようです。

于 2014-05-11T20:11:03.970 に答える