2017-11-25 6 views
0

私は、Reactアプリケーションをロードする電子アプリケーションをポート8080のwebpack-dev-serverで実行しています。Reactアプリケーションはポート9001のノードサーバーアプリケーションと通信しています。 ?私が今試みているのは、postinstallスクリプトを介して別々にノードをインストールすることです。したがって、電子パッケージを使用したノードのパッケージ化されたバージョンとwebpack-dev-serverは、別のバージョンのノードを使用し、スクリプト経由でインストールされます。私はこれが正しい方法ではないと感じます。 webpack-dev-serverにどのようにノードの電子バージョンを使用できますか? electronとwebpack-dev-serverの両方のパッケージ化されたバージョンのノードのみを使用することは可能ですか?ありがとうReactのある電子:生産ウェブサーバーの設定方法

答えて

0

Windowsにインストール後の問題があるため、deb依存関係経由でノードをインストールするというアイデアは、ウィンドウにインストールする依存関係を書くのは簡単ではありません。代わりに私はノードバイナリをダウンロードし、パッケージ化されたノードバイナリをasarパッケージにパッケージ化しました。 私は上で実行されているプラ​​ットフォーム構築のための唯一のバイナリをパッケージ化するファイルのオプションを使用する:私はASARパッケージを解凍して、私はバイナリのノードにアクセスすることができるよasarUnpackオプションに

"build": { 
    "asarUnpack": [ 
     "**/*" 
    ], 
    "files": [ 
     "!binaries", 
     "binaries/${os}/${arch}/node", 
     "src", 
     "*.html", 
     "*.js", 
     "*.tpl", 
     "*.sh", 
     "*.json", 
     "*.md", 
     "*.lock" 
    ], 

ありがとう:

package.jsonファイルシステム。次に、メインプロセスindex.jsで、このようにノードパスを構築しています。

const nodePath = path.join(
    process.resourcesPath, 
    "app.asar.unpacked", 
    'binaries', 
    platform == "win32" ? "win" : platform, 
    arch, 
    "node" 
) 

const productionWebpackServerStartPathArgs = [`${process.resourcesPath}/app.asar.unpacked/node_modules/webpack-dev-server/bin/webpack-dev-server.js`, '--config', `${process.resourcesPath}/app.asar.unpacked/webpack.config.js`]; 
let webpack_dev_server_cmd = crossSpawn(nodePath, productionWebpackServerStartPathArgs); 
関連する問題