简体   繁体   中英

Using NodeJS plugins in Electron

I am new to Electron (Atom-shell), and I am trying to load a NodeJS plugin into the application I am building, but I don't know how. The documentation is not clear on that.

For instance, I am trying to use sqlite3 plugin in my app, I used npm install sqlite3 , and it was successfully installed. But the application throws and error when I try to call it var sqlite = require('sqlite3') . Are there any further steps I am not aware of ?

Thanks.

For pure JS (ie not native) modules you need the following:

  1. Have the module listed in your package.json dependencies
  2. Let electron know where to find the module (eg export NODE_PATH=/PATH/TO/node_module )

The first requirement is obvious and the second has its roots in this issue .

For native node modules (such as sqlite3 ) which use C++ bindings, you need to build them against electron headers to work. According to electron docs , the easiest way to do that would be:

npm install --save-dev electron-rebuild

# Every time you run npm install, run this
./node_modules/.bin/electron-rebuild

To install the npm modules correctly you should go into the folder of your electron app and install the module via npm.

npm install --save sqlite3

The flag --save is important, because npm will install the module inside your app.

Afterwards the require should work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM