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
ウィンドウではない何かを初期化しているように感じますが(おそらく「ロールアップ」?)、これを示唆する明示的なアプリのコードはありません。
最初にロールアップを介してclipboard.jsを実行する必要があります。ロールアップはインポートステートメントを解析します。これを行うには、tasks / build /build.jsを変更する必要があります。
var bundleApplication = function () {
return Q.all([
bundle(srcDir.path('background.js'), destDir.path('background.js')),
bundle(srcDir.path('clipboard.js'), destDir.path('clipboard.js')), // Add this line
bundle(srcDir.path('app.js'), destDir.path('app.js')),
]);
};
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加