1. electron
을 사용하기 위해 npm을 통해 electron 설치
$ npm install -s electron
2.menu를 생성할 js파일 신규 생성(menu.js) 및 menu.js
에서 electron을 사용하여 menu 생성
const {remote} = require('electron'); const {Menu, MenuItem} = remote; const menu = new Menu(); menu.append(new MenuItem({ label:'File', submenu: [ { label: 'Open File...', click: ()=>{ console.log("Click Open File."); } } ] })); menu.append(new MenuItem({ label:'About', submenu: [ { label: 'About DICOM Viewer...', click: ()=>{ console.log("Click About DICOM Viewer."); } } ] })); Menu.setApplicationMenu(menu);
3.index.js
에서 신규 추가된 menu.js
import 추가
import menu from './menu.js';
3.webpack
수행시 아래와 같은 error
발생
PS E:\work\DICOMViewer\electron\resources\app\JS> webpack Hash: a1afdb75372191d5b939 Version: webpack 3.10.0 Time: 1677ms Asset Size Chunks Chunk Names bundle.js 685 kB 0 [emitted] [big] main [1] ./index.js 444 bytes {0} [built] [4] (webpack)/buildin/global.js 509 bytes {0} [built] + 11 hidden modules ERROR in ./node_modules/electron/index.js Module not found: Error: Can't resolve 'fs' in 'E:\work\DICOMViewer\electron\resources\app\JS\node_modules\electron' @ ./node_modules/electron/index.js 1:9-22 @ ./index.js PS E:\work\DICOMViewer\electron\resources\app\JS>
4. webpack.config.json에서 targer추가
module.exports = { target: 'electron-renderer', entry: './index.js', ...
5. webpack수행시 정상 수행 완료.