5

Windows で Electron を使用して小さなアプリを作成しましたが、インストールされているソフトウェアに関する情報についてレジストリを検査する機能があり、別のマシンでアプリを実行してテストする必要があります。だから、私は自分のアプリをパッケージ化しようとしています。

>electron .まず、プロジェクトのルートで実行すると、問題なく実行されることに注意することが重要です。

resources\appアプリをフォルダーの下に配置し、Electron.exe を実行して、アプリを手動でパッケージ化しようとしました。うまくいきません。Electron アプリがタスク マネージャーで起動してから、すぐに終了します。エラーや警告なし。ダイアログなどはありません。

electron-packager モジュールをインストールし、それを使用してアプリをパッケージ化しようとしました。ただし、何もしません。コンソール出力はありません。終了する前にしばらくそのままになります。終了すると、パッケージ化されたアプリはありません。何も変わっていません。electron-builder を試してみましたが、同じ結果が得られました。

私は一般的にノードに慣れていないので、何か間違ったことをしているだけだと思います。これは私のpackage.jsonです(まだ目的を完全には理解していません):

{
  "name": "welcome",
  "version": "0.1.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron .",
    "compile": "node .\\node_modules\\webpack\\bin\\webpack.js",
    "prep": "robocopy . releases\\app /XD node_modules releases blah /S /MIR /XF *.jsx \"webpack.config.js\" && robocopy node_modules\\winreg releases\\app && robocopy node_modules\\path releases\\app",
    "package": "asar pack .\\releases\\app .\\releases\\app.asar",
    "build": "electron-packager releases\\app WelcomeApp --ignore=node_modules --platform=win32 --arch=x64 --output=releases"
  },
  "author": "",
  "license": "ISC",
  "babel": {},
  "dependencies": {
    "electron": "^1.3.4",
    "path": "^0.12.7",
    "react": "^15.3.0",
    "react-dom": "^15.3.0",
    "winreg": "^1.2.1"
  },
  "devDependencies": {
    "babel-core": "^6.13.1",
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.13.1",
    "babel-preset-react": "^6.11.1",
    "electron-builder": "^5.34.1",
    "electron-packager": "^7.7.0",
    "webpack": "^1.13.1"
  }
}

私のディレクトリ構造は次のとおりです

Welcome
|____app
|     |____src
|     |     |____dist
|     |     |     |____bundle.js
|     |     |____react
|     |     |     |____components
|     |     |     |     |____installation.jsx
|     |     |     |     |____...
|     |     |     |     |____software.jsx
|     |     |     |____index.jsx
|     |     |____util
|     |           |____data.js
|     |____app.html
|____node_modules
|     |____...
|____main.js
|____package.json
|____webpack.config.js

私が見ている限り、私がしていることには何の問題もありません。そして、私が言ったように、electron cli ( electron .) で実行すると、完全に正常に動作します。だから、私は途方に暮れています。おそらくpackage.jsonに何か問題があると推測できます。問題はありますか?パッケージャーの実行時にコンソール出力が表示されないのはなぜですか?

4

2 に答える 2

3

electron-packager の API を使用してアプリケーションをパッケージ化する方法のスクリプトを残します。おそらく、これで your.exe をビルドできます。

'use strict';
var packager = require('electron-packager');
var options = {
    'arch': 'ia32',
    'platform': 'win32',
    'dir': './',
    'app-copyright': 'Paulo Galdo',
    'app-version': '2.1.6',
    'asar': true,
    'icon': './app.ico',
    'name': 'TierraDesktop',
    'out': './releases',
    'overwrite': true,
    'prune': true,
    'version': '1.3.4',
    'version-string': {
        'CompanyName': 'Paulo Galdo',
        'FileDescription': 'Tierra de colores', /*This is what display windows on task manager, shortcut and process*/
        'OriginalFilename': 'TierraDesktop',
        'ProductName': 'Tierra de colores',
        'InternalName': 'TierraDesktop'
    }
};
packager(options, function done_callback(err, appPaths) {
    console.log("Error: ", err);
    console.log("appPaths: ", appPaths);
});

ここでは、このスクリプトで使用できるすべてのオプションを確認できます:リンク

于 2016-08-30T15:04:53.357 に答える
-3

完全なソリューションとして十分です。 https://github.com/electron-userland/electron-builder#quick-setup-guide を参照electron-packagerしてくださいelectron-builder

于 2016-08-30T11:19:25.787 に答える