2017-05-14 2 views
1

私はAngularで新しいElectron-Projectを作成しました。 Angular CLIで私のアプリケーションをビルドします。 は今、私は、メイン・プロセスにレンダラー-プロセスからの通信とのDev-ツールでエラーを取得したい:Electron&Angular:fs.​​existsSyncは関数ではありません

> Uncaught TypeError: fs.existsSync is not a function 
    at Object.<anonymous> (vendor.bundle.js:72643) 
    at Object.splitPathRe (vendor.bundle.js:72649) 
    at __webpack_require__ (inline.bundle.js:53) 
    at Object.399 (main.bundle.js:54) 
    at __webpack_require__ (inline.bundle.js:53) 
    at Object.400 (main.bundle.js:107) 
    at __webpack_require__ (inline.bundle.js:53) 
    at Object.291 (main.bundle.js:24) 
    at __webpack_require__ (inline.bundle.js:53) 
    at Object.473 (main.bundle.js:234) 
    at __webpack_require__ (inline.bundle.js:53) 
    at webpackJsonpCallback (inline.bundle.js:24) 
    at main.bundle.js:1 

私はこのプロジェクトテンプレートを使用します。このエラーを再現するhttps://github.com/auth0-blog/angular2-electron 手順は次のとおりです。

git clone https://github.com/auth0-blog/angular2-electron 
npm install 

3.Addは、その行なしのsrc /アプリ/ app.component.ts

const {ipcRenderer} = require('electron'); 

にライン以下、アプリがどのproblなく実行されますems。 電子のために、私はipcRendererをそのように参照する必要があります... https://github.com/electron/electron/blob/master/docs/api/ipc-main.md

私は何が間違っていて、あなたが私を助けることができないか分かりません。

答えて

0

はWebPACKのはもたらし、独自のNode.js' requireので、WebPACKのは、あなたのファイルや依存関係の1つに解決することはできませんあなたrequire Node.jsのコアモジュールは、それがスローした場合を切り詰めrequire。 (スタックトレースには、__webpack_require__が含まれていることがわかります。これは、webpackがすべてrequire__webpack_require__に書き換えて、内部のnode.js-esqueシステムを使用するためです。 WebpackはWeb /ブラウザ向けに構築されているため、すぐにノードで再生されません。この問題を回避するには、https://github.com/chentsulin/webpack-target-electron-rendererを使用します。

しかし、私はまた、すべてのWebPACKを使用して検討したい、次を参照してください。why use webpack with electron

0

は私が問題を抱えていたし、次のコードは、それを解決しました。あなたもあなたを解決することを願っています。

あなたyourcustom.component.tsで

declare const window: any; 
declare const ipcRenderer: any; 
ipcRenderer = window.require('electron'); 
// then you can continue what you want to do with ipcRenderer. 
+0

その示すipcRendererは未定義..です –

+0

私は"宣言constのipcRenderer see.Add:いずれかを。上部に"。私はコードを編集しました。 –

関連する問題