GitHub の Electron を使用してアプリを作成しました。モジュールをロードする推奨される方法、次の ES6 構文を使用しています。
import os from 'os'
定型文をダウンロードした後、アプリは正常に動作しています。background.js
ファイルにスクリプトを問題なくインポートできました。以下は、カスタムモジュールをロードする方法です。
import { loadDb } from './assets/scripts/database.js';
しかし、clipboard.html
Electron 内で新しいブラウザー ウィンドウ ( ) を開くと、JavaScript ファイル ( ) が読み込まれ、モジュールclipboard.js
化が試行されます。import
この時点で、Unexpected token import
エラーが発生しています。
私のclipboard.html
:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Electron Boilerplate</title>
<link href="./stylesheets/main.css" rel="stylesheet" type="text/css">
<script>
window.$ = window.jQuery = require('./assets/scripts/jquery-1.12.1.min.js');
</script>
<script src="./assets/scripts/clipboard.js"></script>
</head>
<body class="clipboard">[...]</body></html>
私のclipboard.js
ファイル:
import { remote } from 'electron'; // native electron module
import { loadDb } from './assets/scripts/database.js';
const electron = require('electron');
document.addEventListener('DOMContentLoaded', function () {
var db = loadDb();
db.find({ type: 'text/plain' }, function (err, docs) {
var docsjson = JSON.stringify(docs);
console.log(docsjson);
});
});
繰り返しになりますが、アプリのメイン ウィンドウである 内で同じコードが使用されてapp.html
いますが、これはエラーになりません。
メイン ウィンドウが、ウィンドウが初期化していないもの (おそらく「ロールアップ」?) を初期化しているように感じますがclipboard.html
、アプリのコード内にこれを示唆する明示的な記述はありません。