12

Electron を Angular2、Typescript、および Electron と組み合わせて使用​​して、npm 経由でインストールされたノード モジュール パッケージの使用方法を見つけようとしています。現在の問題は、モジュールの場所を のように指定する必要があることですvar module = require('./node_modules/xyz/lib/xyz.js')。しかし、electron は内部にある xyz の依存関係を見つけられず、見つからない./node_modules/xyz/node_modules/yyyと文句を言い./yyy.jsます。

電子アプリの構造

dist  
├── angular2.dev.js   
├── config.js  
├── index.html  
├── main.js  
├── node_modules  
├── package.json  
└── app.js  
4

4 に答える 4

7

アップデート:

同様の質問がされており、私の答えはおそらくここであなたを助けるでしょう:

node_modulesアプリのルートの下にあるアプリ ディレクトリへのパスをNODE_PATH変数に追加しないと、機能しません。したがって、次のようなことを行う必要があります。

export NODE_PATH=/PATH/TO/APP/node_modules
electron /PATH/TO/APP

エクスポートNODE_PATHするときは、必ず絶対パスを指定してください。


requireElectron が通常どおりに モジュールを見つけられない場合は、モジュールがディレクトリの下で既に使用可能であってもpackage.json、モジュールが依存関係として含まれていないことを示しています。dist

したがって、distディレクトリ内にいることを確認して使用してください

npm install --save xyz

--saveフラグに注意してください!

于 2015-07-28T11:16:10.547 に答える
1

現在の問題は、モジュールの場所を var module = require('./node_modules/xyz/lib/xyz.js') のように指定する必要があることです

あなたが言及var module = require('xyz');した相対パスにある場合は、できるはずです。./node_modules/ ....

于 2015-06-09T00:44:08.590 に答える
0

electron のドキュメントによると、nodeIntegration プリファレンスを true に設定します。追加してこれを行います

webPreferences: {
  nodeIntegration: true
}

あなたのcreateWindow()機能に。

于 2021-03-01T16:15:40.930 に答える