Я создал приложение, используя Electron GitHub. Я использую рекомендуемый способ загрузки модулей, синтаксис ES6:
import os from 'os'
После загрузки шаблона приложение работает нормально. Мне удалось без проблем импортировать сценарии в файл background.js
. Ниже показано, как я загружаю свой пользовательский модуль:
import { loadDb } from './assets/scripts/database.js';
Однако, когда я открываю новое окно браузера (clipboard.html
) в Electron, я затем загружаю файл JavaScript (clipboard.js
), который, в свою очередь, пытается import
модулей. В этот момент я получаю ошибку Unexpected token import
.
My 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
(возможно, «Свертывание»?), но в коде моего приложения нет ничего явного, чтобы предложить это.