рдореЗрд░реЗ рдкрд╛рд╕ рдЖрд╡реЗрджрди рдореЗрдВ рдРрд╕реА рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
рдореИрдВ рдЕрдкрдиреЗ index.html рд╕рд┐рд░ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ:
<link rel="stylesheet" href="css/app.css"/>
рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдЪрд▓рд╛рдПрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: net::ERR_FILE_NOT_FOUND рдлрд╝рд╛рдЗрд▓:///D:/css/app.css
рдХреГрдкрдпрд╛ рд╕рднреА рд▓реЛрдЧ рдореБрдЭреЗ рдмрддрд╛рдПрдВ, рдореБрдЭреЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджрд╛: #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 рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ
рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдХрд╛ рд░реАрдореЗрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд▓реЛрдбрд░ рдЬреЛрдбрд╝рд╛, рддреЛ рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдлрд┐рд░ рд╕реЗ рдорд┐рд▓рдиреА рд╢реБрд░реВ рд╣реЛ рдЧрдИред webpack.config.js рдореЗрдВ publicPath рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдПрдХ рд╕рд╛рдкреЗрдХреНрд╖ рдкрде рдореЗрдВ рдмрджрд▓рдирд╛ (рдореЗрд░реЗ рд▓рд┐рдП ./app/ рдХреЗ рдмрдЬрд╛рдп/app/) рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ред
рдкреАрдПрд╕ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдЗрд╕рд╕реЗ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗрдмрдкреИрдХ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕реЗ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛ред рдЖрдкрдХреЛ рд╕реАрдзреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдореИрдВ рд╕реАрдПрд╕рдПрд╕ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдореБрдЭреЗ рджреЗрд╡ рд╕рд░реНрд╡рд░ рддреЗрдЬ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд▓рдЧрддрд╛ рд╣реИ)
рдЖрдк html рдлрд╝рд╛рдЗрд▓ рдХреЛ "рд╡реЗрдм рдкреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдХреНрд░реЛрдо рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ " рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рдиреЗрдЯ :: ERR_FILE_NOT_FOUND "
рдЬрдм рднреА рдореИрдВ "рд╕реАрдПрд╕рдПрд╕" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдИ рдЫрд╡рд┐ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ
рди рдХреЗрд╡рд▓ рдЫрд╡рд┐ рдмрд▓реНрдХрд┐ рдлрд╝реЙрдиреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЬреИрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ, рдпрд╣ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рджреЗрддреА рд╣реИред
@Tahawahid @RinatMullayanov
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреА рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдРрдк рдкрде рдХреА рдмрдЬрд╛рдп рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкрд░реЛрд╕рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рд╕рдорд╛рдзрд╛рди рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд░реЛрдХрдирд╛ рд╣реИред 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
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрджрд┐ index.html рдореЗрдВ
<base href="/">
рд╣реЛрдиреЗ рдкрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЗрд╕реЗ<base href="./">
рдмрджрд▓реЗрдВред