Как прочитать и понять журнал ошибок в процессе сборки (React.js)

Как прочитать и понять журнал ошибок в процессе сборки (React.js)

Я создаю расширение Chrome на основе React.js. Я использую «npm run eject», потому что в этом конкретном случае мне нужно несколько точек входа при сборке приложения. После этого и некоторых изменений в webpack.config.js (добавление записей) я получил ошибку при сборке приложения:

 Creating an optimized production build... Failed to compile. Cannot read property 'filter' of undefined npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! first@0.1.0 build: `node scripts/build.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the first@0.1.0 build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/user/.npm/_logs/2019-10-19T14_54_43_495Z-debug.log 

И это полный журнал из debug.log выше:

 0 info it worked if it ends with ok 1 verbose cli [ 1 verbose cli '/home/user/.nvm/versions/node/v12.1.0/bin/node', 1 verbose cli '/home/user/.nvm/versions/node/v12.1.0/bin/npm', 1 verbose cli 'run', 1 verbose cli 'build' 1 verbose cli ] 2 info using npm@6.9.0 3 info using node@v12.1.0 4 verbose run-script [ 'prebuild', 'build', 'postbuild' ] 5 info lifecycle first@0.1.0~prebuild: first@0.1.0 6 info lifecycle first@0.1.0~build: first@0.1.0 7 verbose lifecycle first@0.1.0~build: unsafe-perm in lifecycle true 8 verbose lifecycle first@0.1.0~build: PATH: /home/user/.nvm/versions/node/v12.1.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/user/extensions/first/node_modules/.bin:/home/user/.rbenv/shims:/home/user/.rbenv/bin:/home/user/.nvm/versions/node/v12.1.0/bin:/home/user/.rbenv/shims:/home/user/.rbenv/bin:/home/user/bin:/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-11-oracle/bin:/usr/lib/jvm/java-11-oracle/db/bin 9 verbose lifecycle first@0.1.0~build: CWD: /home/user/extensions/first 10 silly lifecycle first@0.1.0~build: Args: [ '-c', 'node scripts/build.js' ] 11 silly lifecycle first@0.1.0~build: Returned: code: 1 signal: null 12 info lifecycle first@0.1.0~build: Failed to exec build script 13 verbose stack Error: first@0.1.0 build: `node scripts/build.js` 13 verbose stack Exit status 1 13 verbose stack at EventEmitter.{amp}lt;anonymous{amp}gt; (/home/user/.nvm/versions/node/v12.1.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16) 13 verbose stack at EventEmitter.emit (events.js:196:13) 13 verbose stack at ChildProcess.{amp}lt;anonymous{amp}gt; (/home/user/.nvm/versions/node/v12.1.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:196:13) 13 verbose stack at maybeClose (internal/child_process.js:1000:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:267:5) 14 verbose pkgid first@0.1.0 15 verbose cwd /home/user/extensions/first 16 verbose Linux 4.15.0-65-generic 17 verbose argv "/home/user/.nvm/versions/node/v12.1.0/bin/node" "/home/user/.nvm/versions/node/v12.1.0/bin/npm" "run" "build" 18 verbose node v12.1.0 19 verbose npm v6.9.0 20 error code ELIFECYCLE 21 error errno 1 22 error first@0.1.0 build: `node scripts/build.js` 22 error Exit status 1 23 error Failed at the first@0.1.0 build script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 1, true ] 

Проблема была в ManifestPlugin из webpack.config.js:

 const entrypointFiles = entrypoints.main.filter( 

Когда вы меняете запись по умолчанию и добавляете несколько новых точек, entrypoints.main изменится на entrypoints.yourNewPoint . Таким образом entrypoints.main становится undefined . И это логично. Но вопрос в том, как понять это из трассировки стека или debug.log? Я новичок в экосистеме javascript, и проблема заняла много времени (неясно, какая строка, из какого файла привела к проблеме. Вы даже не можете понять, откуда возникает этот filter ). Может быть, есть несколько советов. Раньше у меня было еще несколько ошибок, и каждый раз совершенно не понятно, что происходит.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector