рдореИрдВ рд╣реЗрд░реЛрдХреВ рдореЗрдВ рддреИрдирд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ package.json
рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢рд╛рдорд┐рд▓ рдХреА рд╣реИрдВ:
"scripts": {
"heroku-postbuild": "yarn run build"
"start": "NODE_ENV=production node build/server.js"
}
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, PORT
env var рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд░рди рдЯрд╛рдЗрдо рдкрд░ рд╣реЗрд░реЛрдХреВ рджреНрд╡рд╛рд░рд╛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рд░реИрдЬрд╝рд▓ рдХреЛ рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдкреЛрд░реНрдЯ рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рдореНрди рдХреА рддрд░рд╣ рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
"scripts": {
"start": "NODE_ENV=production yarn run build && node build/server.js"
}
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдФрд░ 60 рд╕реЗрдХрдВрдб рдХреЗ рд╣рд░реЛрдХреВ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдмрд╛рдж рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:
2017-09-06T01:23:13.536789+00:00 рдРрдк[web.1]: рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрдВрдкрд╛рдЗрд▓ рдХрд░рдирд╛...
2017-09-06T01:23:14.395857+00:00 рд╣рд░реЛрдХреВ[рд╡реЗрдм.1]: рддреНрд░реБрдЯрд┐ R10 (рдмреВрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ) -> рд╡реЗрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓реЙрдиреНрдЪ рдХреЗ 60 рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ $PORT рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реА
2017-09-06T01:23:14.395963+00:00 Heroku[web.1]: SIGKILL рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрдирд╛
2017-09-06T01:23:14.499913+00:00 рд╣рд░реЛрдХреВ[рд╡реЗрдм.1]: рд╕реНрдерд┐рддрд┐ 137 рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ
2017-09-06T01:23:14.509625+00:00 рд╣рд░реЛрдХреВ[рд╡реЗрдм.1]: рд░рд╛рдЬреНрдп рд╢реБрд░реВ рд╕реЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛
рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдмрдВрджрд░рдЧрд╛рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдлрд┐рд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдЖрдк razzle-heroku рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :) рдпрд╣ рд╣рд░реЛрдХреВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ
рдЖрд╣, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рдерд╛, рдЗрд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА razzle.config.js
рдПрдХ рдХрд╕реНрдЯрдо modify
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╣реИ, рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдЕрднреА рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрдмрдХрд┐ razzle-heroku рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
// razzle.config.js
const razzleHeroku = require("razzle-heroku")
module.exports = {
modify: (config, {target, dev}, webpack) => {
config = razzleHeroku(config, {target, dev}, webpack)
// do something to config
return config
},
}
рд╢рд╛рдпрдж рдХреБрдЫ рдРрд╕рд╛?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╢рд╛рдпрдж рдХреБрдЫ рдРрд╕рд╛?