前提・実現したいこと
Node.js + Electron + electron-tabs という構成でWebブラウザを開発しています。
electron-tabsを使用してタブ機能を実装することにしたのですが、いざやってみるとUncaught ReferenceError: require is not defined
というエラーが。
nodeIntegration
を true
にすると治ると複数のサイトに記載があったためやってみたのですが、状況は変わりません。
発生している問題・エラーメッセージ
Uncaught ReferenceError: require is not defined at main.html:10
該当のソースコード
/src/main.js
JavaScript
1const electron = require('electron'); 2const app = electron.app; 3const BrowserWindow = electron.BrowserWindow; 4const path = require('path'); 5 6let mainWindow = null; 7app.on('ready', () => { 8 mainWindow = new BrowserWindow({width: 700, height: 500}); 9 webPreferences: { 10 preload: path.join(app.getAppPath(), 'preload.js') 11 nodeIntegration: true 12 webviewTag: true 13 } 14 mainWindow.loadURL('file://' + __dirname + '/main.html'); 15 mainWindow.on('closed', function() { 16 mainWindow = null; 17 }); 18});
/src/main.html
HTML
1<html> 2 <head><title>flussobrowser</title></head> 3 <div class="etabs-tabgroup"> 4 <div class="etabs-tabs"></div> 5 <div class="etabs-buttons"></div> 6 </div> 7 <div class="etabs-views"></div> 8 <link rel="stylesheet" href="../node_modules/electron-tabs/electron-tabs.css"> 9 <script> 10 const TabGroup = require("electron-tabs"); 11 let tabGroup = new TabGroup(); 12 let tab = tabGroup.addTab({ 13 title: "Bing", 14 src: "https://www.bing.com/", 15 visible: true 16 }); 17 </script> 18</html>
試したこと
・nodeIntegration
の有効化
・preload
の設定(Electron公式サイトより)
開発環境
Windows Insider Dev 10.0.22000.132(64ビット)
Node.js 14.17.0
Electron 13.2.0
electron-tabs 0.15.0
ちなみにelectron-tabsのサンプルプログラムでも同様のエラーが出現したため今バージョンのバグかな?とも考えております。
よろしくお願いします。
2021/8/26追記:どうやら2019年頃に同じ問題がteratailに投稿されていたようです。ただそちらも未だ回答はついていませんでした。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。