рдореИрдВ рдПрдХ Azure рдРрдк рд╕реЗрд╡рд╛ рдореЗрдВ рдПрдХ рдЪрдордХрджрд╛рд░ рдРрдк рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рдРрдк рдмрдирд╛рдпрд╛ рдФрд░ рдПрдХ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдорд┐рд▓рд╛ред рдлрд┐рд░, рдореИрдВрдиреЗ рдЗрд╕ web.config рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБрдУрдВ рдХреЛ _build/server.js_ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрдк рдареАрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд▓реЙрдЧ рдФрд░ рдХреНрд▓рд╛рд╕рд┐рдХ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ
_ЁЯЪА рд╢реБрд░реВ_
рджрд┐рдЦрд╛рдИ рдкрдбрд╝рдирд╛ред рдЬрдм рдореИрдВ рдРрдк рдХреЗ рдпреВрдЖрд░рдПрд▓ рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЕрдиреБрд░реЛрдз рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рдмрд╕ рдПрдХ рддреНрд░реБрдЯрд┐ 500 тАЛтАЛтАЛтАЛрд╣реИред
рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдЪрд▓ рд░рд╣реЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЬрд╛рдБрдЪ рдХреА
node build/server.js
рдФрд░ рд╕рдм рдХреБрдЫ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╛рджрд░ред
рдирдорд╕реНрддреЗ,
рдпрд╣ рд╕рдВрднрд╡рдд: #356 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ (рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреИрд╕реЗ PORT
рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдЗрдирд▓рд╛рдЗрди рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ)ред IISNode рдирд╛рдорд┐рдд рдкрд╛рдЗрдк рдХреЛ PORT
рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░реИрдЬрд╝рд▓ рдмрд┐рд▓реНрдб рд╕рдордп рдХреЗ рджреМрд░рд╛рди process.env.PORT
(рд╢рд╛рдпрдж 3000 рддрдХ) рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЗрдирд▓рд╛рдЗрди рдХрд░реЗрдЧрд╛ред
рд╣рдо рдореЗрдВ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ razzle.config.js
рдЗрдирд▓рд╛рдЗрди рдХрд░рдиреЗ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП PORT
:
module.exports = {
...
modify: (config, { target, dev }, webpack) => {
const appConfig = Object.assign({}, config);
// <strong i="13">@BUG</strong>: Do not inline certain env vars; https://github.com/jaredpalmer/razzle/issues/356
if (target === 'node') {
const idx = appConfig.plugins.findIndex(plugin => plugin.constructor.name === 'DefinePlugin');
const { definitions } = appConfig.plugins[idx];
const newDefs = Object.assign({}, definitions);
delete newDefs['process.env.PORT'];
delete newDefs['process.env.HOST'];
delete newDefs['process.env.PUBLIC_PATH'];
appConfig.plugins = [].concat(appConfig.plugins);
appConfig.plugins[idx] = new webpack.DefinePlugin(newDefs)
}
return appConfig;
},
};
рдирдорд╕реНрддреЗ,
рдпрд╣ рд╕рдВрднрд╡рдд: #356 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ (рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреИрд╕реЗ
PORT
рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдЗрдирд▓рд╛рдЗрди рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ)ред IISNode рдирд╛рдорд┐рдд рдкрд╛рдЗрдк рдХреЛPORT
рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░реИрдЬрд╝рд▓ рдмрд┐рд▓реНрдб рд╕рдордп рдХреЗ рджреМрд░рд╛рдиprocess.env.PORT
(рд╢рд╛рдпрдж 3000 рддрдХ) рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЗрдирд▓рд╛рдЗрди рдХрд░реЗрдЧрд╛редрд╣рдо рдореЗрдВ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ
razzle.config.js
рдЗрдирд▓рд╛рдЗрди рдХрд░рдиреЗ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдПPORT
:module.exports = { ... modify: (config, { target, dev }, webpack) => { const appConfig = Object.assign({}, config); // <strong i="14">@BUG</strong>: Do not inline certain env vars; https://github.com/jaredpalmer/razzle/issues/356 if (target === 'node') { const idx = appConfig.plugins.findIndex(plugin => plugin.constructor.name === 'DefinePlugin'); const { definitions } = appConfig.plugins[idx]; const newDefs = Object.assign({}, definitions); delete newDefs['process.env.PORT']; delete newDefs['process.env.HOST']; delete newDefs['process.env.PUBLIC_PATH']; appConfig.plugins = [].concat(appConfig.plugins); appConfig.plugins[idx] = new webpack.DefinePlugin(newDefs) } return appConfig; }, };
рдореИрдВрдиреЗ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдкрд░ 'рдПрдирдкреАрдПрдо рд░рди рд╕реНрдЯрд╛рд░реНрдЯ: рдкреНрд░реЛрдб' рдХрдорд╛рдВрдб рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рд╕рдВрдкрддреНрддрд┐рдпрд╛рдВред рдЬреЗрд╕рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕рдореЗрдВ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?
@vbutani
рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЙрд╕ рдкрдВрдХреНрддрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рд╕реЗ 'process.env.PUBLIC_PATH' рд╣рдЯрд╛рддреЗ рд╣реИрдВ?
@vbutani
рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЙрд╕ рдкрдВрдХреНрддрд┐ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рд╕реЗ 'process.env.PUBLIC_PATH' рд╣рдЯрд╛рддреЗ рд╣реИрдВ?
рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @fabianishere ред рдореЗрд░рд╛ рдмреБрд░рд╛, рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдЕрдкрдирд╛ рдХрд╕реНрдЯрдо рдХреЛрдб рдореБрджреНрджрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рд╡рд┐рдзрд┐ рдореЗрдВ рдорд┐рд▓рд╛ред
рдЖрдкрдХрд╛ рдХреЛрдб рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ !! рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдХрд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣рд╛рд░реНрдб рдХреЛрдбрд┐рдд PORT рдорд╛рди рдХреЛ рдмрдВрдбрд▓ рд╕рд░реНрд╡рд░.js рдореЗрдВ process.env.PORT рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред :)
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдирдорд╕реНрддреЗ,
рдпрд╣ рд╕рдВрднрд╡рдд: #356 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ (рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреИрд╕реЗ
PORT
рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдЗрдирд▓рд╛рдЗрди рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ)ред IISNode рдирд╛рдорд┐рдд рдкрд╛рдЗрдк рдХреЛPORT
рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░реИрдЬрд╝рд▓ рдмрд┐рд▓реНрдб рд╕рдордп рдХреЗ рджреМрд░рд╛рдиprocess.env.PORT
(рд╢рд╛рдпрдж 3000 рддрдХ) рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЗрдирд▓рд╛рдЗрди рдХрд░реЗрдЧрд╛редрд╣рдо рдореЗрдВ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ
razzle.config.js
рдЗрдирд▓рд╛рдЗрди рдХрд░рдиреЗ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдПPORT
: