Electron: рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз: рдРрдк рд╕реНрд░реЛрдд рдХреЛрдб рдлрд╝реЛрд▓реНрдбрд░ рдкрде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдордИ 2015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: electron/electron

рдЬрдм рдореИрдВ рдХрд░рдирд╛ рдЬреИрд╕реЗ cd myapp/ рдФрд░ electron app.js , рдХреЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ process.cwd() рд╣реИ /Users/maxogden/myapp ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореИрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди-рдкреИрдХреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдирд╛ рдРрдк рдкреИрдХреЗрдЬ + рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдРрдк рдЕрдм рд░рд┐рд▓реАрдЬ рдкреЗрдЬ рд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Electron.app рдХреА рд╕рдВрд╢реЛрдзрд┐рдд рдХреЙрдкреА рдореЗрдВ Contents/Resources/app рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╣реИ, process.cwd() / ред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ рдХрд┐ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдореЗрд░реЗ рдРрдк рдХреЛ process.cwd рдХреЗ рд╕рд╛рде / рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдПрдЯрдо рдореЗрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ process.cwd() рдЪрд▓рд╛рддреЗ рд╣реИрдВ .app рдЖрдкрдХреЛ / рднреА рдорд┐рд▓реЗрдЧрд╛ред

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдРрдк рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдкрде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдРрдк рдХреА рдореБрдЦреНрдп рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ __dirname рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдиреНрдпреВрдмрд╛рд░ рдЬреИрд╕реЗ рдорд╛рдорд▓реЗ, рдЬрд╣рд╛рдВ рдПрдкреАрдЖрдИ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рд╣реИ:

var menubar = require('menubar')
var mb = menubar()
mb.on('ready', function ready () {
  console.log('app is ready')
})

рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореЗрдиреВрдмрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдРрдк рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреИрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛, index.html рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ process.cwd() рдпрд╣рд╛рдБ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВрдХрд┐ process.cwd() рд╣реИ / рдмрдЬрд╛рдп /Users/maxogden/myapp/Example.app/Contents/Resources/app рдпрд╣ index.html рдирд╣реАрдВ рдвреВрдВрдврддрд╛ рд╣реИ рдФрд░ рдРрдк рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдиреЛрдб рдРрдкреНрд╕ рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ process.cwd() рд╣рдореЗрд╢рд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ process.cwd() рдХреЗ / рд╕реЗрдЯ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ (рдпрд╣ рдПрдХ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдЪреАрдЬ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдЬрд╛рдирддрд╛ рд╣реИ)ред

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ __dirname рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдиреВрдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрджрд░реНрд╢ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ:

  • process.cwd() рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдРрдк рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрджрд▓реЗрдВ
  • app.getPath рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдРрдк рдлрд╝реЛрд▓реНрдбрд░ рдкрде рд▓реМрдЯрд╛рддрд╛ рд╣реИ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

process.resourcesPath , рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдк рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

process.resourcesPath , рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдк рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ

@paulcbetts ahhhhh рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ https://github.com/atom/electron/blob/cd0aa4a956cb7a13cbe0e12029e6156c3e892924/docs/api/process.md#process -object рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рднреА рдирд╣реАрдВ рд╣реБрдЖ (рдореБрдЭреЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛рди рд╕реЗ рдордВрдХреАрдкреИрдЪ process рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереА)

рдкрд░рдорд╛рдгреБ рдореЗрдВ рд╡рд╣ рдореБрджреНрджрд╛ рдерд╛ рдЬрд╣рд╛рдВ path.resolve('something') рдХрд╛ рд╕рдорд╛рдзрд╛рди /something ред рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП tslint рддреЛрдбрд╝ рджрд┐рдпрд╛ред рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реА:

init.coffee рдЦреЛрд▓реЗрдВ (рдкрд░рдорд╛рдгреБ> рд╡рд░реАрдпрддрд╛рдПрдБ> рдЗрдирд┐рдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ ...) рдФрд░ рдЬреЛрдбрд╝реЗрдВ:

process.chdir(atom.project.getPaths()[0])
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

etiktin picture etiktin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

EladBezalel picture EladBezalel  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ThorstenHans picture ThorstenHans  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

diracdeltas picture diracdeltas  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rhnorskov picture rhnorskov  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ