Electron: jQuery рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рдореЙрдбреНрдпреВрд▓" рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдордИ 2014  ┬╖  71рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: electron/electron

jQuery рдореЗрдВ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╣реИ:

if ( typeof module === "object" && typeof module.exports === "object" ) {
  // set jQuery in `module`
} else {
  // set jQuery in `window`
}

рдореЙрдбреНрдпреВрд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рд╕рд╛рдЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рднреАред рдЗрд╕ рдЕрдирджреЗрдЦреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ window рд╡рд╕реНрддреБ рдФрд░ рдкреНрд░рдпреЛрдЧ module , рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рд▓рд┐рдкрд┐рдпреЛрдВ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ $ рдФрд░ рди рд╣реА jQuery рд╡реИрд╢реНрд╡рд┐рдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ ..

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ jQuery рдпрд╛ рдкрд░рдорд╛рдгреБ-рдЦреЛрд▓ рдмрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд╡реЗрдм рдкрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рд▓реЛрдЧ рддрдм рддрдХ рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдЬрдм рддрдХ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред

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

рдмрд╕ module рдЕрдирд╕реЗрдЯ рдХрд░реЗрдВред

рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореЗрд░рд╛ рд╡реЗрдмрдкреЗрдЬ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рджреЛрдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░реЗред
рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ module рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬрдм nodeIntegration: true , рдЬрд┐рд╕реЗ jQuery рддрдм рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ:

if ( typeof module === "object" && typeof module.exports === "object" ) {
    // bind to module
} else {
    // bind to window
}

рдореИрдВ window рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдФрд░ рдореЗрд░реА рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдХреЗ nodeIntegration: true рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛:

<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="//code.highcharts.com/highcharts.js"></script>
<script>if (window.module) module = window.module;</script>

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

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

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░рд┐рдлрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред jQuery рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХреЙрдордирдЬреЗрдПрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдорд╛рдзрд╛рди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реИред JQuery рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░реЗрдВ:

window.$ = window.jQuery = require('/path/to/jquery');

рдореИрдВ @ChiperSoft рд╕реЗ рд╕рд╣рдордд CommonJS рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ wontfix рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ред рдФрд░ рдЕрдкрдиреА рдЦреЛрдЬ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@ChiperSoft , require('jquery') рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ jquery.js рдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдБ рд░рдЦрдиреА рдЪрд╛рд╣рд┐рдП? рдореИрдВрдиреЗ рдЗрд╕реЗ package.js рдФрд░ main.js рдХреЗ рд╕рдорд╛рди рд╕реНрддрд░ рдкрд░ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рд▓реЗрдХрд┐рди рд░рдирдЯрд╛рдЗрдо рдЗрд╕реЗ рдЙрдард╛ рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИред

рдЖрдк рдЕрдкрдиреА HTML рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ jQuery рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП require('jquery.js') рдЕрдВрдд рдореЗрдВ .js рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рдЕрдиреБрд╕рд╛рд░ window.$ = window.jQuery = require('/path/to/jquery'); рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ,
Uncaught Error: Cannot find module 'scripts/jquery-1.10.2.min.js' module.js:339

рдореИрдВ рд╣рд░ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдореИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣рд╛рдВ рд╣реИ, рдкрде рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ:

window.$ = window.jQuery = require('./scripts/jquery-2.1.1.min.js');

@ рдлреНрд░реИрдВрдХрд╣реЗрд▓ рдУрд╣, рдЗрд╕рдиреЗ ./ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рдзрдиреНрдпрд╡рд╛рдж!

рд╡рд┐рд╕реНрдордпрдХрд╛рд░реА! рдкрде рдХреА рдмрд╛рдд рдиреЗ рдореБрдЭреЗ рднреА рдлрдБрд╕рд╛ рджрд┐рдпрд╛ред

рдпрджрд┐ рдЖрдкрдХреЗ рдРрдк рдХреЛ рдиреЛрдб-рдПрдХреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░рд╡рд┐рдВрдбреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ "node-integration": false рдЬреЛрдбрд╝реЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ module.exports рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, jQuery рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@kabalage рдиреЗ рдЕрджреНрднреБрдд рдХрд╛рдо рдХрд┐рдпрд╛, рдзрдиреНрдпрд╡рд╛рдж!

:+1:

рдЗрд╕реА рдореБрджреНрджреЗ рдкрд░ рдЪрд▓реЗ рдЧрдПред рдПрдирдкреАрдПрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ jQuery рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдлрд┐рд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдиреЛрдб рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ jQuery рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...

рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рдХреБрдЫ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЖрдк рдХрдм рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ $ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд▓рд╛рдЗрди рдХреЗ рдареАрдХ рдмрд╛рдж $ рд▓реЙрдЧрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ jQuery рдирд╣реАрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╣реИ?

рд╡рд┐рдВрдбреЛред $ = window.jQuery = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('/ рдкрде/рд╕реЗ/jquery');
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ($)//рд▓реЙрдЧ 'рдЖрд╡рд╢реНрдпрдХрддрд╛' рдирд╣реАрдВ 'jQuery'

@dieroux рдЗрд╕реЗ

npm install jquery

рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рддрдм рдЖрдкрдХреЛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдЖрдк рдмрд╕ рдпрд╣ рдХрд╣реЗрдВ:

window.$ = window.jQuery = require('jquery');
console.log( [$, jQuery ]);

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдореЗрдВ рдиреЛрдб-рдПрдХреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдХреБрдЫ') рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ "рдореЙрдбреНрдпреВрд▓ рд╣рдЯрд╛рдПрдВ" рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд-рд╕рд╛рдорд╛рди рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рд╣реИ?

рдореБрдЭреЗ рдРрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд░рд╣реА рд╣реИрдВ рдЬрд╣рд╛рдВ рдкрд╣рд▓реА рдмрд╛рд░ рдореБрдЭреЗ рд╡реЗрдмрд╡реНрдпреВ рдкрд░ рдкреНрд░реАрд▓реЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ jQuery рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рджреВрд╕рд░реА рдмрд╛рд░ jQuery рдХреЛ рдмрд╛рд╣рд░реА рдкреГрд╖реНрда рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди:

  try {
        module.exports = null;
        if (typeof require === 'function') {
          alert('window: ' + window);
          alert('jquery: ' + window.jQuery);
          alert('export: ' + module.exports);
          if ( !window.jQuery ) {
            alert('before load');
            window.jQuery = require('./node_modules/jquery/dist/jquery.js');
            alert('after load');
            window.$ = window.jQuery;
            alert('after assignment');
         }
          alert('jquery: ' + window.jQuery);
        }
    } catch(e) {
        alert('failed load.');
        console.log(e);
    }

рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рд╕рдВрдкрддреНрддрд┐ createElement рдХреЛ рдкрдврд╝рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдлреЗрдВрдХрддрд╛ рд╣реИред рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ jQuery, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк jQuery рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдХрдВрд╕реЛрд▓ рдкрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣реИ:
рдЕрддрд┐рдерд┐ рдкреГрд╖реНрда рдиреЗ рдПрдХ рд╕рдВрджреЗрд╢ рд▓реЙрдЧ рдХрд┐рдпрд╛: рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд░реЗрдЦрд╛ рдХреА рд╕рдВрдкрддреНрддрд┐ 'createElement' рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛: 40

рдмрд╛рдж рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ jQuery рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдЪрд╛рд░?

рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣ рдкрд╣рд▓реА рдЪреАрдЬ рдереА рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХреНрд╡рд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рддреЗ рд╕рдордп рдЯреНрд░рд┐рдк рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдРрдк рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдХреНрд░реЛрдо рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреБрдЫ рдЕрдЪрд╛рдирдХ рдЪреБрдирд╛рд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЕрд╕рдлрд▓ рдХреЛрдгреАрдп рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдореЗрдВ рджрдлрди рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдСрд░реНрдбрд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдереА, рдЗрд╕ рддрд░рд╣ рдореБрдЭреЗ рдпрд╣ рдзрд╛рдЧрд╛ рдорд┐рд▓рд╛ред рд╢рд╛рдпрдж рдЦреЛрдЬрд╢рдмреНрдж рджреВрд╕рд░реЛрдВ рдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗред

@kabalage рдХрд╛ рд╕рдорд╛рдзрд╛рди рдКрдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░, рдореИрдВ рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрдЧрд░ рдореИрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХрдВрд╕реЛрд▓ $ рдореЗрдВ jQuery рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рдкреЗрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ jQuery рдХреЛ рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ jQuery рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрджрд░реНрднрд┐рдд jQuery, рд╡рд╣реА рддреНрд░реБрдЯрд┐ред "рдиреЛрдб-рдПрдХреАрдХрд░рдг" рдХрд░рдирд╛ рд╣реИ: рдмреНрд░рд╛рдЙрдЬрд╝рд░рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЭреВрдард╛ ()

рдирдорд╕реНрддреЗ рджреЛрд╕реНрддреЛрдВ... рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рдмрдВрдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣рд╛рдБ рдЕрднреА рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдБред рдЕрдЧрд░ рдореИрдВ рдПрдирдкреАрдПрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ jQuery рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░:

рдореЗрдирд╡рд┐рдВрдбреЛред $ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('jQuery');
mainWindow.jQuery = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('jQuery');

рддрдм рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ mainWindow.loadUrl('http://external.site.com");

рдореБрдЭреЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВ рдЬрд╣рд╛рдВ $ рдФрд░ jQuery рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдиреЛрдб рдПрдХреАрдХрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИ; рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рд╕реНрд░реЛрдд рдореЗрдВ рдЬрд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рд╡рд╣рд╛рдВ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреВрдВрдЧрд╛ред рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕реЗ рдмрд╛рд╣рд░реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл _with_ рдиреЛрдб рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж ... рдФрд░ рдорд╣рд╛рди рдХрд╛рдо рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВред рд╕рдм рдХреБрдЫ рдирдпрд╛ рдФрд░ рд╕реБрдВрджрд░, рдЗрд╕ рддрд░рд╣, рдХреБрдЫ рдЭреБрд░реНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

рд╕рдзрдиреНрдпрд╡рд╛рдж

/рдбрдмреНрд▓реНрдпреВ

рдореИрдВрдиреЗ рдЗрд╕реЗ рдиреЛрдб-рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред

  1. рдЗрд╕реЗ npm рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ package.json рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  2. рдореЙрдбреНрдпреВрд▓ рдирд╛рдо <script>window.$ = window.jQuery = require('jquery');</script> рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  3. рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред
  4. рдЧрд░реНрдд рдмреЛрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рди рдХрд░реЗрдВ, рдпрд╣ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░реЗрдЧрд╛ред
  5. рдпрджрд┐ рдЖрдк рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ jQuery рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЗрд╡рд▓ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

рдХрд╛рдо рдХрд░реЗрдЧрд╛

    <script>window.$ = window.jQuery = require('jquery');</script>
    <script src="path_to/bootstrap.js"></script>

рдирд╣реАрдВ рд╣реЛрдЧрд╛

    <script>window.$ = window.jQuery = require('./path/to/jquery.js');</script>
    // or
    <script src="path_to/jquery.js"></script>
    <script src="path_to/bootstrap.js"></script>

рд╣рд╛рдп рджрд┐рд▓рджреАрдк, рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдмрд╛рд╣рд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд░рдЦрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ? рдореИрдВ рдЙрд╕ рд╕рд╛рдЗрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕ рдкрд░ рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрд░реЛрдд рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред рдЖрдкрдиреЗ package.json рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХрд╣рд╛ рд╡рд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореИрдВрдиреЗ npm рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ jQuery рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ (рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрд┐рдд рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛) рдФрд░, рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдХрд╣рд╛, рдореИрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп HTML рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди jQuery рдХреЛ рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдиреЛрдб-рдПрдХреАрдХрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдФрд░ рдЬрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВ рдмрд╕ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЕрдЧрд░ рдХреЛрдИ рдФрд░ рдЙрд╕реА рдкрд░реЗрд╢рд╛рдиреА рдореЗрдВ рдкрдбрд╝ рдЬрд╛рдПред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд┐рдпрд╛ (10GB рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рд╕реНрд░реЛрдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдерд╛ред рдмрд╛рд╣рд░реА рд╕рд╛рдЗрдЯ рдХреЗ рдпреВрдЖрд░рдПрд▓ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореИрдВрдиреЗ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓ рд▓реЛрдб рдХреА рдФрд░ рдмрд╛рд╣рд░реА рд╕рд╛рдЗрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓ рд╕реЗ рд╡реЗрдмрд╡реНрдпреВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдиреЛрдб-рдПрдХреАрдХрд░рдг рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИред рд╡реЗрдмрд╡реНрдпреВ рдХреЗ рд▓рд┐рдП рдмрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ, рдпрд╣ рдмрд╣реБрдд рд╕реАрдзреЗ рдЖрдЧреЗ рд╣реИред рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреИрдЯ рд░реВрдо рдореЗрдВ рдкреЙрд▓ рдХреЛ рднреА рдореЗрд░рд╛ рдзрдиреНрдпрд╡рд╛рджред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреА рд╕реЛрдЪ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХреЛ рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдЯрдо (рдмреЗрд╢рдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП WinDbg рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдВрдЬрд╛ред FYI рдХрд░реЗрдВ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдФрд░ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рддреЗрдЬрд╝ рдерд╛, рдЗрд╕рдиреЗ рдкрд╣рд▓реЗ рдЙрдирдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ред рдлрд┐рд░ рд╕реЗ, рдорд╣рд╛рди рдХрд╛рдо рджреЛрд╕реНрддреЛрдВ!

@WolfieWerewolf рдмреНрд░рд╛рд╡реЛ! рдЕрдЧрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рдпрд╣ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдереЛрдбрд╝рд╛ рднреНрд░рд╛рдордХ рд╣реИред

@ Shufeng01 рдЪреАрдпрд░реНрд╕ рджреЛрд╕реНрдд, рдореИрдВ рдЗрд╕ рдардВрдб рдореЗрдВ рдиреЗрдЯ рднреВрдорд┐ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг n00b рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдПрдХ рдореБрджреНрджрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗрдмрд╡реНрдпреВ рдкрд░ рдЕрдХреНрд╖рдо рд╡реЗрдм рд╕реБрд░рдХреНрд╖рд╛ рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡реЗрдм рдХреЛ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЪреБрдиреМрддреА рд╣реИ... рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдЪрдЯреНрдЯрд╛рдиреЗрдВред

@diimdeep рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рди рдХрд┐ @WolfieWerewolf рдХреНрдпрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ!)

рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдереЛрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдРрдк рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде jQuery рдХреЛ рдмрдВрдбрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рд╕рдореЗрдХрд┐рдд рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рдо рдПрдирдбрдмреНрд▓реНрдпреВрдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред рдПрдирдкреАрдПрдо рдЗрдВрд╕реНрдЯреЙрд▓ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдпрд╣ рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ?

@bgSosh, рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЕрдХреНрд╖рдо рдиреЛрдб рдПрдХреАрдХрд░рдг (рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рд╛ node-integration рдХреБрдВрдЬреА рдпрд╣рд╛рдБ )? рдЕрдЧрд░ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдиреЛрдб рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдЖрдк рдЗрд╕реЗ preload рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрдирдХреЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдиреЛрдб рдПрдХреАрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ)ред

@etiktin рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ: https://github.com/atom/electron/issues/1753#issuecomment -157409572

@matthiasg рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЬреЛрдбрд╝реАрдВред

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

@etiktin рдзрдиреНрдпрд╡рд╛рджред рдмреЗрд╢рдХ рд╡рд╣ рдЗрд╕рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬреЛ рдореИрдВ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рдерд╛ рд╡рд╣ process.once('loaded', ... ) рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рд╣реИ рдЬреЛ рдПрдХ рдмрд╛рд░ рдЬрдЧрд╣ рдкрд░ рдерд╛, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рдПрдкрд┐рд╕ рдХрд╛ рдкрд░реНрджрд╛рдлрд╛рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ,

рдЪреВрдВрдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдиреЗ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ (рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ HTML рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде w2ui рдФрд░ JQuery рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, w2ui рдХреЛ рднреА jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрдВ), рдореБрдЭреЗ рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдорд╣рд╕реВрд╕ рд╣реБрдИ:

<html>
<head>
    <title>MyApp</title>
    <link rel="stylesheet" type="text/css" href="./lib/w2ui-1.4.3.css"/>
    <script type="text/javascript" src="./lib/require.js"></script>
    <script type="text/javascript" src="./lib/jquery-2.1.4.js" onload="$ = jQuery = module.exports;"></script>
    <script type="text/javascript" src="./lib/w2ui-1.4.3.js"></script>
</head>
<body>
<script type="text/javascript">
    // use global $ and w2ui here... 
    ...

рдореИрдВ рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рддрдХрдиреАрдХреА рдЕрдзреНрдпрдпрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЕрдм рдЗрд╕ рдЕрд╕реНрдкрд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд┐рдВрдЧ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВред рдпрд╣ рдПрдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдкреНрд░рд╢реНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ HTML рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдЗрддрдирд╛ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ?

@forman рдХреНрдпрд╛ рдЖрдкрдиреЗ рдиреЛрдб рдПрдХреАрдХрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдиреЛрдб рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░реАрд▓реЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ? рдореЗрд░реЗ рдФрд░ @matthiasg рджреНрд╡рд╛рд░рд╛ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджреЗрдЦреЗрдВред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ jQuery рдФрд░ рдмрд╛рдХреА рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдЬреИрд╕реЗ рд╡реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред

рдХрд╛рдо рдХрд░реЗрдЧрд╛

requirejs(['require', '../require.config'], function (requirejs, config) {
        //fixed jQuery isn't set globally
        requirejs(['jquery'],function(jquery){
            window.$ = window.jQuery =jquery;
        });
        // update global require config
        window.requirejs.config(config);
        // load app
        requirejs(['main'],function(main){
        });
    });

@forman рдзрдиреНрдпрд╡рд╛рдж !! рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдиреЗ рднреА рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред (рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди-рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд 0.35.5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)
@etiktin рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрдХреНрд╖ рдкрд░ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рд╕реЛрдЪрд╛ рдХрд┐ рдореБрдЭреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдФрд░ рд╕рдорд╛рдзрд╛рди рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдо рдПрдХ рд╡реЗрдмрд╡реНрдпреВ рдореЗрдВ рдПрдХ рдмрд╛рд╣рд░реА рдпреВрдЖрд░рдПрд▓ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди/рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡реЗрдмрд╡реНрдпреВ рдкрд░ рдиреЛрдбрдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ jQuery рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рд╣рд░реА рдпреВрдЖрд░рдПрд▓ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рд╣рдордиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рд╡реЗрдмрд╡реНрдпреВ рдореЗрдВ рдПрдХ рдкреНрд░реАрд▓реЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛ рдЬрд╣рд╛рдВ рд╣рдо рдЙрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИ рдЬрдм рд╣рдо рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдкреНрд░реАрд▓реЛрдб.рдЬреЗрдПрд╕:

global.ipcRenderer = require('electron').ipcRenderer;

рдФрд░ рдлрд┐рд░ рд╣рдо ipcRenderer рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:

webview.executeJavaScript("ipcRenderer.sendToHost('hello');");

Uncaught Error: Cannot find module 'jquery' рдФрд░ рдЗрд╕ рдзрд╛рдЧреЗ рд╕реЗ рдХреБрдЫ рднреА рдорджрдж рдирд╣реАрдВ рдорд┐рд▓рддреА =/

рдмрд╕ module рдЕрдирд╕реЗрдЯ рдХрд░реЗрдВред

рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореЗрд░рд╛ рд╡реЗрдмрдкреЗрдЬ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рджреЛрдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░реЗред
рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ module рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬрдм nodeIntegration: true , рдЬрд┐рд╕реЗ jQuery рддрдм рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ:

if ( typeof module === "object" && typeof module.exports === "object" ) {
    // bind to module
} else {
    // bind to window
}

рдореИрдВ window рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдФрд░ рдореЗрд░реА рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдХреЗ nodeIntegration: true рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛:

<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="//code.highcharts.com/highcharts.js"></script>
<script>if (window.module) module = window.module;</script>

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

@tomkel рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдЙрдкрд╛рдп рд╣реИ:

<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<script>window.jQuery = window.$ = module.exports;</script>

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдФрд░ рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ:

<!-- Launched with Electron -->
<script>
    if ('require' in window) {
        window.$ = window.jQuery = require('jquery');
    }
</script>

<!-- From CDN, Bower, etc... -->
<script src="https://code.jquery.com/jquery-2.2.0.js"></script>

<!-- Others libraries depending on jQuery -->
<script src="..."></script>

@dkfiresky рд╣рд╛рдБ, рдпрд╣ рднреА рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ jQuery рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╛рдИрдЪрд╛рд░реНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред Highcharts рдПрдХ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рд╡рд╣ рдореМрдЬреВрдж рд╣реИ рддреЛ рдЦреБрдж рдХреЛ module рдкрд░ рд░рдЦрддрд╛ рд╣реИред рдХрд┐рд╕реА рдХрд╛рд░рдгрд╡рд╢ рдореИрдВ рдирд╣реАрдВ рдорд┐рд▓ рдкрд╛рдпрд╛

<script>window.Highcharts = module.exports;</script>

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдЕрдкрдбреЗрдЯ рдХреА рд╣реИред

@tomkel module рдХреЗ рдЕрд╕реНрдерд╛рдпреА рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ ngDialog рдХреЗ рд╕рд╛рде nw.js рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдереА, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ CommonJS рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ require('angular') рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЦреБрдж рдХреЛ рдХреЛрдгреАрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди 0.36.7 рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг window.$ = require('jquery'); рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реЗрдВрдбрд░рд░ рдХреЗ рдкрд╛рд╕ рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рдореЙрдбреНрдпреВрд▓ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдкрде рдирд╣реАрдВ рд╣реИ

рдЕрд╕рд▓ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ jQuery рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ document ред рдФрд░ require('jquery') рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ #4243 рдЬреИрд╕реЗ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЗрдЬ рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд░реЗрдВрдбрд░рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдкрде рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ:

require('electron').remote.process.mainModule.paths.forEach(function(path) {
    require('module').globalPaths.push(path);
});

рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ require('jquery') рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдФрд░ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ ('jquery') рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ #4243 рдЬреИрд╕реЗ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЗрдЬ рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдпрджрд┐ рдЖрдк рджреВрд░рд╕реНрде рд╕рд╛рдордЧреНрд░реА рдХреЛ node.js рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рдРрдк рдмрд╣реБрдд рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЖрдкрдХреЛ рджреВрд░рд╕реНрде рд╕рд╛рдордЧреНрд░реА рдЪрд▓рд╛рддреЗ рд╕рдордп рдиреЛрдб рдПрдХреАрдХрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдкреНрд░реАрд▓реЛрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

рднрд▓реЗ рд╣реА "рд░рд┐рдореЛрдЯ рдХрдВрдЯреЗрдВрдЯ" рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╣реЛ? рдореИрдВ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ рдкреЗрдЬ рдмрдирд╛рдиреЗ рдФрд░ рдЙрд╕рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдмрд╕

@dkfiresky рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ Uncaught ReferenceError: module is not defined рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЖрдЬрдорд╛рдПрдВ:

<script src="./bower_components/jquery/dist/jquery.min.js"></script>
<script>window.jQuery = window.$ = typeof module === 'object' ? module.exports : jQuery</script> 

@dspint module рдХреЗрд╡рд▓ рдиреЛрдб рдПрдХреАрдХрд░рдг рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдиреЛрдб рдПрдХреАрдХрд░рдг рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдк window.open рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рд╡рд┐рдВрдбреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде nodeIntegration=0 рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

window.open('https://your.cool/url', 'title', 'nodeIntegration=0');

рдореИрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

<script>
  var saveModule = module;
  delete module;
</script>
  <script src="jquery.js"></script>
  <script src="jquery-ui.js"></script>
<script>
  module = saveModule;
</script>

рдореБрдЭреЗ @gnail рдЬреИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХреЛрдгреАрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдиреЛрдб рд╕рд░реНрд╡рд░ рдерд╛ред рдЙрдирдХреЗ рдХреЛрдб рдиреЗ рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рддрдп рдХрд░ рджрд┐рдпрд╛ред

require('electron').remote.process.mainModule.paths.forEach(function(path) {
  require('module').globalPaths.push(path);
});

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ

<script>
    window['old_module'] = window['module'];
    delete window.module;
</script>

<script src="any_lib_like_jquery.js" />

<script>
    window['module'] = window['old_module'];
    delete window.old_module;
</script>

рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рднреАрдЦ рдорд╛рдВрдЧрдиреЗ рдкрд░ рдЕрдЯрдХрд╛ рд╣реБрдЖ рд╣реВрдВ
рдХреЗ рд╕рднреАред
рдореИрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди-рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

@PauloGaldo рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдХреЛрдб рдХрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЕрдВрд╢ рдФрд░ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВред

@ChiperSoft рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореБрдЭреЗ рдЖрдкрдХреЗ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

@tomkel рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛!
рдореБрдЭреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХреЗ рднреАрддрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рдирд╛рдИ рдорд┐рд▓ рдЧрдИ!

рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореИрдВ рдЕрднреА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдРрдк рджреЛрдиреЛрдВ рдореЗрдВ jQuery рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред
рдореЗрд░рд╛ рд╡реЗрдм рдРрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдЬрдм рдореИрдВ рдЙрд╕реА рдпреВрдЖрд░рдПрд▓ рдХреЛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдРрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдлреЗрдВрдХрддрд╛ рд╣реИ -

image

рд╡реЗрдмрдПрдк - https://github.com/zulip/zulip
рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдРрдк - https://github.com/zulip/zulip-electron

рд╡реЗрдмрдПрдк рдПрдирдкреАрдПрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ jQuery 1.12.1 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореИрдВ nodeintegration рдмрдВрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕реЗ рдореЗрд░реА рд░реЗрдВрдбрд░рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд░рд╣реА рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ?
cc @aaaahaaaaa @maykefreitas @paulcbetts @tomkel @dkfiresky

@englishextra рдХреЛрдИ рдХрд┐рд╕реНрдордд рдирд╣реАрдВред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдРрдк рдХреЗ preload.js рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛

@englishextra рдирд╣реАрдВ, рдореБрдЭреЗ рдЕрдкрдиреЗ рдРрдк рдореЗрдВ jQuery рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рдЕрдкрдбреЗрдЯ рдХреЛрдб рджреЗрдЦреЗрдВред рдХреЗ рдмрд╛рдж рд╕реЗ рдореИрдВ рдпрд╣ рдХреЗрд╡рд▓ рджреЗрдЦрдиреЗ рдХреЗ url рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдореИрдВ рдЕрдкрдиреЗ рдРрдк рддрд░реНрдХ рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдпрд╣ ред

рдСрд░реЗрд▓рд┐рдпрд╛ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП:
https://github.com/aurelia/skeleton-navigation/pull/675/commits/6292e698dcb8f383afc748aa7c8a50e540dfbe2e

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛

<script type="text/javascript" src="js/jquery.min.js" onload="window.$ = window.jQuery;"></script>

рдФрд░ рд╕реЗрдЯ рдХрд░реЗрдВ

webPreferences: {
            nodeIntegration: false, 
        }

рдпрджрд┐ рдЖрдк nodeIntegration: true, рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рд╕реЗ jQuery рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ

<script type="text/javascript" src="js/jquery.min.js" onload="window.$ = window.jQuery = module.exports;"></script>

рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн
https://github.com/electron/electron/issues/345

рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдпрд╣ рдПрдХ рдмреБрд░реА рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рддреЛ рдХреНрдпреЛрдВ рди рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП? рд╢рд╛рдпрдж рдкреНрд░рдореБрдЦ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ?

рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдРрдк рдореЗрдВ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреБрдЫ рдмрд╣реБрдд рдЧрд▓рдд рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЕрдХреНрд╖рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<script>if (typeof module === 'object') {window.jQuery = window.$ = module.exports;};</script>

@drowlands рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдореЗрдВ 3party libs рд╕рд╣рд┐рдд рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрджреНрдпрддрди рджрд┐рдирдЪрд░реНрдпрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдпрд╛ рдХрд┐рд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
@amhoho рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ require jQuery рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рд╢реАрд░реНрд╖ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЗрд╕рдХреЗ init рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ - рдХреЗрд╡рд▓ factory( global ); рдЫреЛрдбрд╝рдХрд░

рдпрд╣рд╛рдБ:

( function( global, factory ) {

    "use strict";

    if ( typeof module === "object" && typeof module.exports === "object" ) {

        // For CommonJS and CommonJS-like environments where a proper `window`
        // is present, execute the factory and get jQuery.
        // For environments that do not have a `window` with a `document`
        // (such as Node.js), expose a factory as module.exports.
        // This accentuates the need for the creation of a real `window`.
        // e.g. var jQuery = require("jquery")(window);
        // See ticket #14549 for more info.
        module.exports = global.document ?
            factory( global, true ) :
            function( w ) {
                if ( !w.document ) {
                    throw new Error( "jQuery requires a window with a document" );
                }
                return factory( w );
            };
    } else {
        factory( global );
    }

рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдХрд┐ рдореИрдВ рд▓рд╛рдиреЗ/рд╡рд╛рджрд╛ рдпрд╛ xhr рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ libs рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ libs рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдЪреЗрдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рджрд┐рдирдЪрд░реНрдпрд╛ рд╣реИред
@RRorg рдЕрдЬреАрдм рд╣реИ рдЖрдк рдХреНрдпрд╛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ

рдирд┐рд╢рд╛рди

@kabalage рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреБрд░рд╛рдирд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

const window = new BrowserWindow({
  webPreferences: {
    nodeIntegration: false, 
  },
});

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбреЙрдХреНрд╕ рдкрд░:
https://electronjs.org/docs/faq#i -can-not-use-jqueryrequirejsmeteorangularjs-in-electron
```



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

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

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

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

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

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