У меня есть приложение Electron 1.5 с некоторыми компонентами JSX, которые я написал. Я хочу, чтобы компоненты были в отдельном файле (модуле).Экспорт/импорт пользовательских компонентов JSX (модулей ES6) в Electron 1.5
Учитывая, что Electron поддерживает Node 7.4 и Chromium 54, я решил, что могу использовать синтаксис модуля ES6 с экспортом. Но я получаю ошибки с командой export.
Это примечание указывает на то, что ES6 могут возникнуть проблемы в Electron: ES6 syntax import Electron (require..)
export class Welcome extends React.Component {
render() {
return <h1>Hello Again, {this.props.name}</h1>;
}
}
export class CountWidget extends React.Component {
render() {
return (
<div>
<h1>{this.props.value}</h1>
<button onClick={this.props.onIncrement}>+</button>
<button onClick={this.props.onDecrement}>-</button>
</div>);
}
}
ли я требую, или импортировать в основной программе:
import {Welcome} from 'componenets\widgets'
настоящее время я использую VSCODE для моего IDE, и у меня есть работа с часами Babel, работающая с запрограммированными и предварительными настройками es2016. Я попробовал предустановку es2015, но Electron недовольна синтаксисом require, который использует babel.
"babel": {
"sourceMaps": "inline",
"presets": [
"react",
"es2016"
]
}
UPDATE
Я попытался с помощью Babel-пресеты-es2016-node5
Он по-прежнему жалуется:
неперехваченным ReferenceError: экспорт не определен (...)
Он сгенерировал это в конце файла Counter.js, в котором он жалуется.
export.Welcome = Добро пожаловать; export.CountWidget = CountWidget;
Попытка добавления Бабель-запрограммированную-es2016 -node –
npm ERR! 404 Registry возвращается 404 для GET на http://registry.npmjs.org/babel-preset-es2016-node npm ERR! 404 npm ERR! 404 'babel-preset-es2016-node' i s не в реестре npm. npm ERR! 404 Вы должны испугать автора, чтобы опубликовать его (или использовать имя самостоятельно!) npm ERR! 404 npm ERR! 404 Обратите внимание, что вы также можете установить с npm ERR! 404 tarball, папка, http url или git url. –
Похоже, что я получил неправильное имя, он суффикс с версией узла i.e. Babel-preset-es2016-node6 –