Используя react-boilerplate собрал прогу. С ней проблем нет, она запускается и работает. Задеплоил на Хероку, без каких-либо видимых проблем. Но получил Application error. Ниже лог после деплоя
spoilerNode.js app detected
Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_VERBOSE=false
NODE_ENV=production
NODE_MODULES_CACHE=true
Installing binaries
engines.node (package.json): >=5
engines.npm (package.json): >=3
Resolving node version >=5...
Downloading and installing node 10.1.0...
Bootstrapping npm >=3 (replacing 5.6.0)...
npm 6.0.1 installed
Restoring cache
Loading 2 from cacheDirectories (default):
- node_modules
- bower_components (not cached - skipping)
Building dependencies
Installing node modules (package.json + package-lock)
> react-boilerplate@3.5.0 preinstall /tmp/build_230c7b1d6b919fe2d3adb3c6e7724ba0
> npm run npmcheckversion
> react-boilerplate@3.5.0 npmcheckversion /tmp/build_230c7b1d6b919fe2d3adb3c6e7724ba0
> node ./internals/scripts/npmcheckversion.js
> react-boilerplate@3.5.0 postinstall /tmp/build_230c7b1d6b919fe2d3adb3c6e7724ba0
> npm run build:dll
> react-boilerplate@3.5.0 build:dll /tmp/build_230c7b1d6b919fe2d3adb3c6e7724ba0
> node ./internals/scripts/dependencies.js
up to date in 17.48s
[!] 467 vulnerabilities found [26996 packages audited]
Severity: 418 Low | 46 Moderate | 3 High
Run `npm audit` for more detail
Running heroku-postbuild
> react-boilerplate@3.5.0 heroku-postbuild /tmp/build_230c7b1d6b919fe2d3adb3c6e7724ba0
> npm run build
> react-boilerplate@3.5.0 prebuild /tmp/build_230c7b1d6b919fe2d3adb3c6e7724ba0
> npm run build:clean
> react-boilerplate@3.5.0 build:clean /tmp/build_230c7b1d6b919fe2d3adb3c6e7724ba0
> rimraf ./build
> react-boilerplate@3.5.0 build /tmp/build_230c7b1d6b919fe2d3adb3c6e7724ba0
> cross-env NODE_ENV=production webpack --config internals/webpack/webpack.prod.babel.js --color -p --progress --hide-modules --display-optimization-bailout
Hash: 0eb898bf6ee4193afaf8
Version: webpack 3.5.5
Time: 12067ms
Asset Size Chunks Chunk Names
main.6fc0e199fe5ea4638163.js 496 kB 0 [emitted] main
index.html 799 bytes [emitted]
sw.js 16.3 kB [emitted]
WARNING in OfflinePlugin: Cache pattern [*.chunk.js] did not match any assets
Child html-webpack-plugin for "index.html":
1 asset
Child __offline_serviceworker:
1 asset
Caching build
Clearing previous node cache
Saving 2 cacheDirectories (default):
- node_modules
- bower_components (nothing to cache)
Pruning devDependencies
> pre-commit@1.2.2 uninstall node_modules/pre-commit
> node uninstall.js
removed 1491 packages in 17.153s
[!] 12 vulnerabilities found [601 packages audited]
Severity: 7 Low | 2 Moderate | 3 High
Run `npm audit` for more detail
Build succeeded!
Discovering process types
Procfile declares types -> (none)
Default types for buildpack -> web
Compressing...
Done: 30.2M
Launching...
Released v9
https://todotest1991.herokuapp.com/ deployed to Heroku
Решил проверить через командную строку heroku logs --tail --app MyApp, на выходе получил следующее
spoilerStarting process with command `npm start`
react-boilerplate@3.5.0 start /app
cross-env NODE_ENV=development no
de server
internal/modules/cjs/loader.js:573
throw err;
^
Error: Cannot find module 'glob'
at Function.Module._resolveFilename
(internal/modules/cjs/loader.js:571:15)
at Function.Module._load (internal/modules/cjs/loader.js:497:25)
at Module.require (internal/modules/cjs/loader.js:626:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (/app/internals/webpack/webpack.dev.babel.js:7:14)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
at Module.load (internal/modules/cjs/loader.js:589:32)
at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
at Function.Module._load (internal/modules/cjs/loader.js:520:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! react-boilerplate@3.5.0 start: `cross-env NODE_ENV=development node
server`
npm ERR! Exit status 1
npm ERR! Failed at the react-boilerplate@3.5.0 start script.
npm ERR! This is probably not a problem with npm. There is likely
additional logging output above.
npm ERR!
npm ERR! /app/.npm/_logs/2018-05-15T07_30_12_052Z-debug.log
npm ERR! A complete log of this run
can be found in:
State changed from starting to crashed
Process exited with status 1
heroku[web.1]: Process exited with status 1
heroku[router]: at=error code=H10 desc="App cra
shed" method=GET path="/" host=fast-lake-29656.herokuapp.com
request_id=6794d470
-6b00-4ed2-8f5e-892e6ade5891 fwd="145.255.9.159" dyno= connect= service=
status=
503 bytes= protocol=https
heroku[router]: at=error code=H10 desc="App cra
shed" method=GET path="/favicon.ico" host=fast-lake-29656.herokuapp.com
request_
id=15da6f9b-2abd-414d-88cb-849d4fd9eeec fwd="145.255.9.159" dyno= connect=
service= status=503 bytes= protocol=https
Он пишет что не может найти модуль glob, но я хз почему, т.к на локалхосте он работает без ошибок. Если нужна еще какая-либо инфа, скажите я предоставлю.
На всякий случай прикладываю, код с гитхаб.
GithubUpdate:
Как ниже посоветовали, я сделал следующее.
Исправил как и говорилось скрипт
"start": "cross-env NODE_ENV=production node server",
Далее сделал это
heroku config:set NPM_CONFIG_PRODUCTION=false
Далее тест командой
heroku logs --tail --app fast-lake-29656
В итоге получил следующее:
Что я не понял, так это почему он 2 раза пытался
cross-env NODE_ENV=development node server",
запустить, и ток на 3 раз сделал как надо. И еще не ясно, откуда он захотел увидеть build в папке app, если по стандарту он сохранился на 1 уровне с ним(npm run build).