私は ES6 js ファイルを使用しており、これは gulp (browserify/babel) によってコンパイルされます。ES6 ファイルの例は次のとおりです。
メインウィンドウなどを設定するために使用される通常の App.js があります。次に、html ページは、基本的にすべての ES6 クラスが 1 つのファイルにコンパイルされた main.min.js ファイルを使用します。
loader.es6 ファイル
import Main from './pages/Main.es6'
new Main()
Main.es6 ファイル
import Vue from 'vue';
export default class Main extends Vue{
constructor() {...}
.....
}
コンパイルして実行すると、これはすべて正常に動作し、すべて問題ありません...しかし、「IPC」、「リモート」モジュールを実装したい場合は、コンパイルに問題があります。require()または import..私のクラス内のメソッド。
そのため、次のことを行うと失敗します。
import Remote from 'remote'
import Main from './pages/Main.es6'
new Main()
また
var Remote = require('remote')
import Main from './pages/Main.es6'
new Main()
これを実行または達成することは可能ですか、それとももっと考えて通常の js に戻す必要がありますか。
どんなアイデア/アドバイスもありがとう
編集:エラーの詳細を追加
問題のサンプル ファイルMain.es6
上部に追加された変数を参照してvar Remote = require('remote')ください。これにより、次のエラーが発生します。
使ってもimport Remote from 'remote'
{ [Error: Cannot find module 'remote' from '/Volumes/DAVIES/ElectronApps/electron-vuejs-starter/resources/js/pages']
stream:
{ _readableState:
{ highWaterMark: 16,
buffer: [],
length: 0,
pipes: [Object],
pipesCount: 1,
flowing: true,
ended: false,
endEmitted: false,
reading: true,
sync: false,
needReadable: true,
emittedReadable: false,
readableListening: false,
objectMode: true,
defaultEncoding: 'utf8',
ranOut: false,
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null,
resumeScheduled: false },
readable: true,
domain: null,
_events:
{ end: [Object],
error: [Object],
data: [Function: ondata],
_mutate: [Object] },
_maxListeners: undefined,
_writableState:
{ highWaterMark: 16,
objectMode: true,
needDrain: false,
ending: true,
ended: true,
finished: true,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: false,
bufferProcessing: false,
onwrite: [Function],
writecb: null,
writelen: 0,
buffer: [],
pendingcb: 0,
prefinished: true,
errorEmitted: false },
writable: true,
allowHalfOpen: true,
_options: { objectMode: true },
_wrapOptions: { objectMode: true },
_streams: [ [Object] ],
length: 1,
label: 'deps' } }