개발

[오류해결] Uncaught ReferenceError: require is not defined at renderer.js

JK. 2023. 3. 31. 00:48
728x90

발생 배경

 - Electron을 이용하여 프로그램을 만들어 보겠다는 의지

 - 통신을 위해 아래의 코드를 작성

const { ipcRenderer } = require('electron')

결과는 다음과 같은 오류가 발생

이런 오류가 옛날에도 발생해서 포기하게된 계기였는데....

막 이것저것 찾아보니 예전보다는 해결방법이 여러 가지가 있었지만
간단하게 체험해보고 있는 나로선 눈에 들어오지 않는다.

 

그래서 해결방법이 무엇인고 하니

파일 중에서 main.js 내용 중 createWindow를 찾아서 다음과 같이 추가해주면 된다.

function createWindow () {
  // Create the browser window.
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js'),
      nodeIntegration: true, //<-핵심
      contextIsolation: false //<-핵심
    }
  })

검색 결과중 nodeIntegration: true 해주면 된다고 했는데

역시나 안되고 더 찾아본 결과

contextIsolation: false를 해주니 에러가 사라지고 기능들이 정상 작동한다.