рдореИрдВ рдмрдирд╛рдо рдХреЛрдб рдХреЗ рд╕рд╛рде рдиреЛрдб рд╕рд░реНрд╡рд░ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ yarn start --inspect
рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЕрдкрдиреЗ launch.json
. рдореЗрдВ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдбреАрдмрдЧрд░ рд╕рдВрд▓рдЧреНрди рдХрд░рддрд╛ рд╣реВрдВ
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 9230,
"outFiles": [
"${workspaceRoot}/build/**/*.js"
]
}
рдореИрдВ рдмрд┐рд▓реНрдб/рд╕рд░реНрд╡рд░.рдЬреЗрдПрд╕ (рдПрдХ рд▓рд╛рд▓ рдмрд┐рдВрджреБ) рдореЗрдВ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ src/index.js (рдПрдХ рдЧреНрд░реЗ рд╕рд░реНрдХрд▓) рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдореИрдВ рд╕реЛрд░реНрд╕рдореИрдкреНрд╕ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: рд╕реЛрдЪ:?
рдореБрдЭреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХрд╛ рд╕реМрднрд╛рдЧреНрдп рдорд┐рд▓рд╛ рд╣реИред рдПрдХ sourceMaps
vscode рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
{
"type": "node",
"request": "attach",
"name": "Attach by Process ID",
"processId": "${command:PickProcess}",
"restart": true
}
@ajsharp рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж: рд╕реНрдорд╛рдЗрд▓реА_рдХреИрдЯ:
рд╕рдВрд▓рдЧреНрди рд╡рд┐рдзрд┐ рдХреЗ рд╕рдорд╛рдиред рдореИрдВ src/index.js рдореЗрдВ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рд╕реЛрд░реНрд╕рдореИрдкреНрд╕ рд╡рд┐рдХрд▓реНрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рддреНрдп рд╣реИ (cf. https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_source-maps)
рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рд╕реНрд░реЛрддрдореИрдк рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ, VSCode cheap-module-sourcemap
рдПрдХ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
razzle.config.js
:
module.exports = {
modify(config, { target, dev }, webpack) {
config.devtool = dev ? 'eval-source-map' : 'none';
return config;
}
}
launch.json
:
{
"name": "Attach to dev server",
"type": "node",
"request": "attach",
"protocol": "inspector",
"address": "localhost",
"port": 9230
}
рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ yarn start --inspect --inspect-port 9230
. рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ
* рд╕рдВрдкрд╛рджрд┐рдд, рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @dguyonvarch ред
@ рдмреЗрдирд╣реИрдорд▓рд┐рди : рдореБрд╕реНрдХрд╛рди_рдХреИрдЯ: рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
рдореИрдВрдиреЗ рдЕрднреА рдЖрдкрдХрд╛ рд╕реНрдирд┐рдкреЗрдЯ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИ:
module.exports = {
modify: (config, { target, dev }, webpack) => {
config.devtool = dev ? 'eval-source-map' : 'none';
return config
}
}
рдореБрдЭреЗ рдпрд╣ razzle/packages/razzle/config/createConfig.js
рд▓рд╛рдЗрди 93 рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
// Controversially, decide on sourcemaps.
devtool: 'cheap-module-source-map'
рддреЛ рдореИрдВ рд╡рд┐рд╡рд╛рдж рдЦреЛрд▓рддрд╛ рд╣реВрдБ :рдкрд▓рдХ : ! рдХреНрдпреЛрдВ cheap-module-source-map
рдХреЗ рдмрдЬрд╛рдп eval-source-map
рдХреЛрдИ рднреА рдЗрд╕ рдиреБрд╕реНрдЦрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдПрдХ рдЕрдиреБрднрд╛рдЧ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?
@jaredpalmer рдХреНрдпрд╛ рдореИрдВ eval-source-map
рдХреЗ рд╕рд╛рде рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдбреЙрдХреНрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рд╣реЛрд▓рд╛! рддреЛ рдпрд╣рд╛рдБ рд╕реМрджрд╛ рд╣реИ, рдУрдкрди рд╕реЛрд░реНрд╕ рдФрд░ рдореЗрд░реЗ рджрд┐рди рдХреЗ рдХрд╛рдо рдФрд░ рдЬреАрд╡рди рдХреЗ рдмреАрдЪ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯрд╣рдм рдмреЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ GitHub рдмреЙрдЯ рдЗрд╕реЗ рдмрд╛рд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдпрджрд┐ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рди рд▓реЗрдВ--рдЧрдВрднреАрд░рддрд╛ рд╕реЗ--рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИред рдЕрдЧрд░ рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИ, рддреЛ рдмрд╕ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ, рдореБрдЭреЗ рдбреАрдПрдо рдХрд░реЗрдВ, рдПрдХ рд╡рд╛рд╣рдХ рдХрдмреВрддрд░, рдпрд╛ рдПрдХ рдзреВрдореНрд░рдкрд╛рди рд╕рдВрдХреЗрдд рднреЗрдЬреЗрдВред
рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг ProBot рдиреЗ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рд╣реЛрд▓рд░ рдЕрдЧрд░ рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВрдЧреЗред
рдЕрдкрдбреЗрдЯ: рд╕рд░реНрд╡рд░ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП vscode рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓реЙрдиреНрдЪ.рдЬреЗрд╕рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдФрд░ devtool рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ razzle рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд░ рдЫреЛрдбрд╝ рджреЗрдВред
рдпрд╣ VSCode рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд╕рд╛рде рд╣реА рдПрдХ рдмреЗрд╣рддрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЕрдиреБрднрд╡ (eval-source-maps, React рдХреЗ рдбрд┐рдмрдЧ рдПрд░рд░ рд╡реНрдпреВрдЕрд░ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ)ред
"sourceMapPathOverrides": {
"webpack:///*": "${workspaceRoot}/*"
}
рдзрдиреНрдпрд╡рд╛рдж @ рдмреЗрдиреНрд╣рдорд▓рд┐рдиред рдХреНрдпрд╛ рдЖрдк рд░реИрдЬрд╝рд▓ рдореЗрдВ рд╕реЙрдлреНрдЯ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ ( rs
рдлрд┐рд░ ENTER
) рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж VSCode рдореЗрдВ рдбрд┐рдмрдЧрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдПрдЯреАрдПрдо рдЕрдЧрд░ рдореИрдВ рд╕реЙрдлреНрдЯ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╡реАрдПрд╕рд╕реАрдУрдбреА рдбреАрдмрдЧрд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдорд╛рд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдбреАрдмрдЧрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
@benhamlin рдпрд╣ рдЗрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдкрд▓рдХ:
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 9230,
"sourceMapPathOverrides": {
"webpack:///*": "${workspaceRoot}/*"
}
}
@ourmaninamsterdam RS рдПрдХ рдирдП рдбрд┐рдмрдЧ рдкреЛрд░реНрдЯ (9230 + 1) рдкрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЕрдЯреИрдЪ рдкреЛрд░реНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдФрд░ рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА: рдирд┐рд░рд╛рд╢:
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рд╕реНрд░реЛрддрдореИрдк рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ, VSCode
cheap-module-sourcemap
рдПрдХ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИредrazzle.config.js
:launch.json
:рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ
yarn start --inspect --inspect-port 9230
. рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ* рд╕рдВрдкрд╛рджрд┐рдд, рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @dguyonvarch ред