Assets are not getting loaded after making the binary using "yarn make" on all platform (windows/Mac/Linux). We are getting error "net::ERR_FILE_NOT_FOUND". Looks like Js files are pointing to the proper location as per the package.json configuration. but assets and source files are located in different location.
And we are seeing the same issue for component source which uses Lazy import statements
const Login = React.lazy(() => import('./screens/login'));
E.g on Mac
Trying to load the png file from
/Contents/Resources/app/.webpack/renderer/main_window/33dbdd0177549353eeeb785d02c294af.png
But files are available in.
/Contents/Resources/app/.webpack/renderer/33dbdd0177549353eeeb785d02c294af.png
package.json
"plugins": [
[
"@electron-forge/plugin-webpack",
{
"mainConfig": "./webpack.main.config.js",
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
{
"html": "./src/index.html",
"js": "./src/app.tsx",
"name": "main_window"
}
]
}
}
]
]
Sample Project https://github.com/jega-ms/electron-forge-react-typescript-webpack

File Listing

my file-loader ended up looking like
{
test: /\.(png|svg|jpe?g|gif|webm)$/,
use: [
{
loader: 'file-loader',
options: {
name: '[hash]-[name].[ext]',
outputPath: 'static',
publicPath: '../static',
},
},
],
}
Most helpful comment
1196 Might solve the asset issue you are having... it did for me.
my file-loader ended up looking like