2015-11-21 12 views
6

私は電子アプリを構築していて、他のjavascriptフロントエンドのようなレンダラー(Webページ)ファイルに対しては現在browserifyを使用しています。私は、browserifyを使ってメインプロセスファイルをバンドルしたいと思います。しかし、browswerifyは、クリップボード、ipc、ブラウザウィンドウ、アプリケーションなどのモジュールに組み込まれた電子を見つけることができません。browserify bundle電子アプリのメインプロセスファイル

電子アプリのエントリーポイントとなる私のmain.jsファイルにあります。私は持っています:

const ipc = require('ipc'); 
const clipboard = require('clipboard'); 
const BrowserWindow = require('browser-window'); 
const app = require('app'); 
const yargs = require('yargs'); 

const yargsはnode_modeulsフォルダにあるとおりに正常にロードされ、browserifyで解決できます。しかし、4つの項目はブラウザで見つけることができないため、ビルドに失敗します。

[11:49:17] Finished 'development' after 17 ms 
Error: Cannot find module 'ipc' from '<path>' 
Error: Cannot find module 'clipboard' from '<path>' 
Error: Cannot find module 'browser-window' from '<path>' 
Error: Cannot find module 'app' from '<path>' 

お勧めはありますか?

答えて

4

browserifyでは、ignoreMissingとdetectGlobalsというオプションを設定することができます。これにより、最終的に電子アプリケーションに自動的にロードされるビルド済みのintモジュールをbrowserifyが無視することができます。

browserify({ 
    entries: './src/main.js', 
    extensions: ['.js'], 
    ignoreMissing: true, 
    detectGlobals: false, 
    bare: true, 
    debug: false 
}) 
+0

私がレンダリングプロセスで使用したいと思っていたbrowserifyモジュール内で 'desktopCapturer'モジュールを必要としているのと同じ問題がありました。ブラウザのすべてのモジュールをバンドルしようとしているときに 'desktopCapturer'が見つかりませんでした。あなたの答えが問題の解決策でした。よく働く。 +1 – DavidDomain

+0

このコードはどこにありますか? – jtlindsey

関連する問題