Node.js, path.resolve () "Ошибка типа: невозможно прочитать свойство 'resolv" из неопределенного " - PullRequest
0 голосов
/ 10 февраля 2020

Я следовал за Гэтсби. js Документами , чтобы попытаться сгенерировать новые страницы из записей уценки. Как и в примере, у меня есть строка, использующая path.resolve().

 ERROR

Error in "/Users/lougro/repos/gatsby-starter-default/gatsby-node.js": Cannot read property 'resolve' of undefined



  TypeError: Cannot read property 'resolve' of undefined

  - gatsby-node.js:4 Object.<anonymous>
    /Users/lougro/repos/gatsby-starter-default/gatsby-node.js:4:28

  - v8-compile-cache.js:178 Module._compile
    [gatsby-starter-default]/[v8-compile-cache]/v8-compile-cache.js:178:30

  - loader.js:991 Object.Module._extensions..js
    internal/modules/cjs/loader.js:991:10

  - loader.js:811 Module.load
    internal/modules/cjs/loader.js:811:32

  - loader.js:723 Function.Module._load
    internal/modules/cjs/loader.js:723:14

  - loader.js:848 Module.require
    internal/modules/cjs/loader.js:848:19

  - v8-compile-cache.js:159 require
    [gatsby-starter-default]/[v8-compile-cache]/v8-compile-cache.js:159:20

  - resolve-module-exports.js:126 module.exports
    [gatsby-starter-default]/[gatsby]/dist/bootstrap/resolve-module-exports.js:126:26

  - validate.js:120
    [gatsby-starter-default]/[gatsby]/dist/bootstrap/load-plugins/validate.js:120:31

  - Array.forEach

  - validate.js:113 collatePluginAPIs
    [gatsby-starter-default]/[gatsby]/dist/bootstrap/load-plugins/validate.js:113:20

  - index.js:62 module.exports
    [gatsby-starter-default]/[gatsby]/dist/bootstrap/load-plugins/index.js:62:13

  - index.js:181 module.exports
    [gatsby-starter-default]/[gatsby]/dist/bootstrap/index.js:181:34

  - develop.js:422 async module.exports
    [gatsby-starter-default]/[gatsby]/dist/commands/develop.js:422:7

Когда я закомментирую строку, которая использует path.resolve(), ошибка исчезнет (конечно, заменив обе другие, где нужен путь).

const EventTemplate = path.resolve(`src/templates/eventTemplate.js`)

Я прочитал node.js документы по path.resolve () и не могу понять, как я его неправильно использую. То, что у меня есть, более или менее идентично примеру в документах Гэтсби.

Тем не менее, когда я console.log(path), он не определен. Учитывая, что я более или менее скопировал и вставил пример, я не понимаю, как это могло быть.

Я также, в ответ на эту проблему , пытался модернизация и понижение node.js. Я перепробовал все следующие версии узлов, используя установщик PKG для MacOS. Тогда я rm -rf node_modules; npm install. Я получаю ошибку независимо от версии узла. Я пробовал:

  • 13.8.0
  • 12.15.0
  • 12.14.1
  • 10.19.0
  • 10.15.3
  • 10.6.0

Какое решение? В чем проблема?

1 Ответ

0 голосов
/ 10 февраля 2020

Решение было не использовать path.resolve().

Я имел в виду и видеокурс по Удеми, и пример. Курс использует path.resolve(). В примере Гэтсби используется require.resolve().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...