Electron: рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: net::ERR_FILE_NOT_FOUND рдлрд╝рд╛рдЗрд▓:///D:/css/app.css

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

рдореЗрд░реЗ рдкрд╛рд╕ рдЖрд╡реЗрджрди рдореЗрдВ рдРрд╕реА рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
file struct

рдореИрдВ рдЕрдкрдиреЗ index.html рд╕рд┐рд░ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ:

<link rel="stylesheet" href="css/app.css"/>

рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдЪрд▓рд╛рдПрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

capture
рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: net::ERR_FILE_NOT_FOUND рдлрд╝рд╛рдЗрд▓:///D:/css/app.css
рдХреГрдкрдпрд╛ рд╕рднреА рд▓реЛрдЧ рдореБрдЭреЗ рдмрддрд╛рдПрдВ, рдореБрдЭреЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

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

рдпрджрд┐ index.html рдореЗрдВ <base href="/"> рд╣реЛрдиреЗ рдкрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЗрд╕реЗ <base href="./"> рдмрджрд▓реЗрдВред

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

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджрд╛: #1747ред

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

<html>
  <head>
    <title></title>
  </head>
  <body>
    <script>
    var link = document.createElement('link')
    link.setAttribute('rel', 'stylesheet')
    link.setAttribute('href', require('path').join(__dirname, 'css', 'app.css'))
    document.head.appendChild(link)
    </script>
  </body>
</html>

@ рд╢рдорд╛ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд┐рдирд╛ <base href="/"> рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдирдореВрдирд╛ рдХрд╛рд░реНрдп https://github.com/RinatMullayanov/angular-boilerplate Branch рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди ред

рднреА рдпрд╣реА рдореБрджреНрджрд╛ рд╣реИред рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди C:/ рд╕реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рдкреЗрдХреНрд╖ рдкрде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдкреВрд░реНрдг рдкрде рд╕реЗрдЯ рдХрд░рдирд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рдкрде рдкрд░ рдЖрд╡реЗрджрди рд░рдЦреЗрдВрдЧреЗ рддреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрдВрдЧреАред

рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдлрд╝реЙрдиреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ
<strong i="7">@import</strong> url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ:
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Open+Sans" />

рдореИрдВрдиреЗ рднреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

<link rel="stylesheet" type="text/css" href="http//fonts.googleapis.com/css?family=Open+Sans" />

<link rel="stylesheet" type="text/css" href="https//fonts.googleapis.com/css?family=Open+Sans" />

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
Failed to load resource: net::ERR_CONNECTION_REFUSED

рдпрджрд┐ index.html рдореЗрдВ <base href="/"> рд╣реЛрдиреЗ рдкрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЗрд╕реЗ <base href="./"> рдмрджрд▓реЗрдВред

@Myrga рдЖрдк рдПрдХ рдЬреАрд╡рди рдмрдЪрд╛ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдЕрдм 5 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрддрд░ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдВ, рдЗрд╕ рдкрд░ рдХреЛрдИ рдбреЙрдХреНрдЯрд░ рдирд╣реАрдВ, рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдЗрд╕ рдкреБрд░рд╛рдиреА рдкреЛрд╕реНрдЯ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

ps: рдпрджрд┐ рдЖрдк рдпрд╣рд╛рдВ рдЖрдП рд╣реИрдВ рдФрд░ create-react-app рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ package.json рдореЗрдВ "homepage": "./", рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдлреЛрдВрдЯ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдРрд╕реЗ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЙрди рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЖрдкрдХреЗ/рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ)

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

@BesatZardosht рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рдорд┐рд▓рд╛ рд╣реИ:

<link rel="stylesheet" type="text/css" href="https//fonts.googleapis.com/css?family=Open+Sans" />

рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Open+Sans" />

(рдиреЛрдЯ : )

рдпрджрд┐ рдЖрдк Webpack 2.x , React рдФрд░/рдпрд╛ Redux рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рд╣реИрдВ, рддреЛ рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛:

"publicPath" рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЦреЛрдЬреЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдорд╛рди / рд╕реЗ ./ рдмрджрд▓реЗрдВ
рд╕рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрд▓рдмреНрдз рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ redux-cli рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЬреЛ redux-starter-kit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ project.config.js :

publicPath: './',

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрджрд┐ рдЖрдк Electron рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рд╡реЗрдмрдкреИрдХ target рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЬреЛрдбрд╝рдиреЗ/рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЦреБрд╢ рд░рд╣реЗрдВ!! рдореИрдВ

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА, Myrga рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреАрд╕реА рдХреЗ рд▓рд┐рдП / рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдмрдХрд┐ "./" рд╡рд░реНрддрдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрд╕ рдПрдХ рдЕрдиреБрдорд╛рди, рдкреЛрд░реНрдЯ 4200 рдкрд░ http://рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп (рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдкрдиреЗ рдПрдВрдЧреБрд▓рд░ 4 рдРрдк рдХреА рд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реВрдВ) рд╕рдм рдХреБрдЫ "/" рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП "./" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдХрд╛ рд░реАрдореЗрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд▓реЛрдбрд░ рдЬреЛрдбрд╝рд╛, рддреЛ рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдлрд┐рд░ рд╕реЗ рдорд┐рд▓рдиреА рд╢реБрд░реВ рд╣реЛ рдЧрдИред webpack.config.js рдореЗрдВ publicPath рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдПрдХ рд╕рд╛рдкреЗрдХреНрд╖ рдкрде рдореЗрдВ рдмрджрд▓рдирд╛ (рдореЗрд░реЗ рд▓рд┐рдП ./app/ рдХреЗ рдмрдЬрд╛рдп/app/) рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред

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

рдЖрдк html рдлрд╝рд╛рдЗрд▓ рдХреЛ "рд╡реЗрдм рдкреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдХреНрд░реЛрдо рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред

рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ " рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рдиреЗрдЯ :: ERR_FILE_NOT_FOUND "
рдЬрдм рднреА рдореИрдВ "рд╕реАрдПрд╕рдПрд╕" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдИ рдЫрд╡рд┐ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ
рди рдХреЗрд╡рд▓ рдЫрд╡рд┐ рдмрд▓реНрдХрд┐ рдлрд╝реЙрдиреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЬреИрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ, рдпрд╣ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рджреЗрддреА рд╣реИред

@Tahawahid @RinatMullayanov
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреА рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдРрдк рдкрде рдХреА рдмрдЬрд╛рдп рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкрд░реЛрд╕рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рд╕рдорд╛рдзрд╛рди рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд░реЛрдХрдирд╛ рд╣реИред main.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ

Main.js

mainWindow = new BrowserWindow({width: 1100, height: 700, icon: __dirname + '/icon.ico'}) mainWindow.loadURL(url.format({ pathname:'index.html', protocol: 'file', slashes: true }))

app.on('ready', () => { protocol.interceptFileProtocol('file', (request, callback) => { const url = request.url.substr(7) /* all urls start with 'file://' */ callback({ path: path.normalize( ${__dirname}/${url} )}) }, (err) => { if (err) console.error('Failed to register protocol') }) createWindow() /* callback function */ })

рдП

@Tahawahid @RinatMullayanov
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреА рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдРрдк рдкрде рдХреА рдмрдЬрд╛рдп рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкрд░реЛрд╕рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рд╕рдорд╛рдзрд╛рди рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд░реЛрдХрдирд╛ рд╣реИред main.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ

Main.js

mainWindow = new BrowserWindow({width: 1100, height: 700, icon: __dirname + '/icon.ico'}) mainWindow.loadURL(url.format({ pathname:'index.html', protocol: 'file', slashes: true }))

app.on('ready', () => { protocol.interceptFileProtocol('file', (request, callback) => { const url = request.url.substr(7) /* all urls start with 'file://' */ callback({ path: path.normalize( ${__dirname}/${url} )}) }, (err) => { if (err) console.error('Failed to register protocol') }) createWindow() /* callback function */ })

рдореИрдВ

рдкрде рдореБрджреНрджрд╛ред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рдХреЛ D:/css/app.css рдореЗрдВ рдЦреЛрдЬреЗрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рдЧрд▓рдд рд░рд╛рд╕реНрддреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ /css/... рдЬреИрд╕рд╛ рдкрде рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдбреА рдореЗрдВ рдЦреЛрдЬреЗрдЧрд╛:/

рдпрд╣ рдЪрд╛рд▓ рднреА рдЪрд▓реАред рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рд╢реНрд░реА @itsaakashpatel рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

// ...
const { protocol } = require('electron')
// ... 
// run the next block right before <BrowserWindow>.loadFile()
const htmlRootDir = 'dist/'
const indexFile = 'index.html'

protocol.interceptFileProtocol(
    'file',
    (request, callback) => {
        const url = request.url.substr(7) // strip "file://" out of all urls
        if (request.url.endsWith(indexFile)) {
            callback({ path: url })
        } else {
            callback({ path: path.normalize(`${__dirname}/${htmlRootDir}/${url}`) })
        }
    }, 
    error => console.error(error) 
) 
// ...

рдЕрдкрдиреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╕ htmlRootDir рдФрд░/рдпрд╛ indexFile рдмрджрд▓реЗрдВред
_рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛_

@Myrga рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЖрдкрдХрд╛ рдЬрд╡рд╛рдм рдкрд╕рдВрдж рдЖрдпрд╛ :)

@Myrga рдареАрдХ рд╣реИ, рдЖрдк рд╢рд╛рдпрдж рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп "homepage": "./" рдореЗрдВ package.json рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗред

@Myrga рдареАрдХ рд╣реИ, рдЖрдк рд╢рд╛рдпрдж рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп "homepage": "./" рдореЗрдВ package.json рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗред

рдХреГрдкрдпрд╛ @defusioner , рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ?

@leodutra humm, рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛- https://create-react-app.dev/docs/deployment#build -for-relative-paths

@defusioner рд╣рдо, рдЬреЛ рдмрд╣реБрдд рдХреБрдЫ рдмрддрд╛рддрд╛ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реЛрдордкреЗрдЬ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдХрд┐рд╕реА рднреА рд░рд┐рд╢реНрддреЗрджрд╛рд░ рдпрд╛ рд░реВрдЯ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдЯ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, Vue.js dist рдпрд╛ рдХрдЪреНрдЪреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдпрд╣ рд╢рд╛рдпрдж рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкреИрдХреЗрдЬ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП... рдЬреИрд╕реЗ package.json . рдкрд░ рдХреБрдЫ electronBasePath

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ win.loadFile('index.html') рдПрдХ рдмрдХрд╡рд╛рд╕ рдХреА рддрд░рд╣ рд╣реИ! рд╣рдо рдЗрд╕реЗ electron-builder рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ EXE рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рдпрд╣ рд╣рдореЗрд╢рд╛ DevTools failed to load SourceMap: Could not load content for file:///C:/User..../resources/app.asar/bootstrap.min.css.map рджрд┐рдЦрд╛рдПрдЧрд╛ред

рд▓реЗрдХрд┐рди win.loadURL() рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП 8 рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рддрдм рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдпрд╣ рдмрдЧ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдирдХреНрд╢рд╛ рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдпрд╛рдд рдХреА рдЬрд╛рддреА рд╣реИред

рдореЗрд░реЗ рд▓рд┐рдП, рдЕрд╕рд▓реА рдмрдЧ alert() рдХрд╛рд░рдг рд╣реБрдЖ рдерд╛: https://stackoverflow.com/questions/56805920/cant-edit-input-text-field-after-window-alert

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

dangan-ronpa picture dangan-ronpa  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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