IT/Electron

[Electron] require is not defined 해결 방법

월공 2021. 3. 16. 08:13
728x90
300x250

일렉트론 openDevTools 을 이용하여 F12 메뉴를 보는데 require is not defined 라고 뜬다

찾아보니 nodeIntegration:false 인부분을 true 로 바꿔주면 된다는데 난 그래도 해결이 안됐다

그러다가 contextIsolation : false 라는걸 추가해주니 그제서야 인식이 잘되더라 .. 왜 이렇게 해야 되는지는 모르겠다

여기저기 해외 커뮤니티 뒤지다가 우연히 보게되었는데 얼떨결에 작동이 되서 당황스럽다

국내엔 일렉트론 개발자가 없는건지 있어도 공유를 안하는건지 내가 검색을 못하는건지 한글로 암만 찾아도 안나온다..

여튼 이부분은 좀 더 찾아봐야 할거같다

 

 

main.js

const { app, BrowserWindow, Menu } = require('electron');

//자동 새로고침
require('electron-reload')(__dirname, {
        electron : require(`${__dirname}/node_modules/electron`)
})

//상단 메뉴 없애기
Menu.setApplicationMenu(false)

function createWindow () {
  let win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false,
      //enableRemoteModule: true,
    }
  });
  //개발자 모드 (F12)
  win.webContents.openDevTools();  
  win.loadFile('index.html');  
}

app.on('ready', createWindow);

 

참고하기 좋은 일렉트론 문서 한글판

https://runebook.dev/ko/docs/electron/tutorial/security

 

Electron - 보안, 기본 기능 및 책임 - 웹 개발자로서 우리는 일반적으로 강력한 브라우저 보안 브라

웹 개발자로서 우리는 일반적으로 강력한 브라우저 보안 브라우저를 사용합니다. 우리가 작성하는 코드와 관련된 위험은 비교적 작습니다. 우리의 웹 사이트는 샌드 박스에서 제한된 권한을 부

runebook.dev

 

 

728x90
300x250