Comments (1)
I spent a day debugging the error require is not defined
. I did not even use require in the renderer.
The culprit is @marshallofsound/webpack-asset-relocator-loader
(or @versel/webpack-asset-relocator-loader
or @timfish/webpack-asset-relocator-loader
) which adds support for locating node_modules
in renderer. According to the current convention, renderer thread should not have access to native node modules. nodeIntegration: false
is set by default. (also contextIsolation: true
).
If you keep using ipcMain
and ipcRenderer
for communication, and don't require any modules in renderer, you will have to remove the loader. There error will persist even if you don't require any modules in renderer. This is because the loaders themselves include the __dirname
(or require()
) into your renderer.
We have two different solutions:
- Keep using
ipcMain
andipcRenderer
for communication in the app, and edit the/webpack/rules.webpack.js
and remove the following lines. And create a newrules.webpack.js
file for main only, with this loader.
{
test: /\.(m?js|node)$/,
parser: { amd: false },
use: {
loader: '@marshallofsound/webpack-asset-relocator-loader',
options: {
outputAssetBase: 'native_modules',
},
},
},
- Set
nodeIntegration: true
andcontextIsolation: false
. You can no longer useipcMain
andipcRenderer
. Doing this will also make the app less secure, as the renderer could be utilize to perform malicious operations on the computer.
from electron-typescript-react.
Related Issues (20)
- Error: Cannot find module 'lodash.camelcase'
- How to change widow to title? HOT 1
- Static images
- get message value HOT 2
- How to reference image? HOT 2
- react-router-dom HOT 2
- rs does not restart the main process HOT 2
- Remove eslint-plugin-standard, add eslint-plugin-react-hooks
- Cannot use tesseract from both main process and renderer HOT 1
- Packaged app can't find preload.js HOT 1
- Cannot find module './build/release/robotjs.node' election HOT 2
- Issues with Webpack HOT 3
- Routing Configuration problems
- can't use package "ffi-napi" HOT 1
- testing set up
- Use SVG HOT 1
- Sqlite and knex usage HOT 1
- unable to make distribution for windows and linux
- template-lite
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from electron-typescript-react.