在 Electron 中使用 NodeJS 插件
Using NodeJS plugins in Electron
我是 Electron (Atom-shell) 的新手,我正在尝试将 NodeJS 插件加载到我正在构建的应用程序中,但我不知道如何加载。文档对此并不清楚。
例如,我想在我的应用程序中使用 sqlite3 插件,我使用了 npm install sqlite3
,它已成功安装。但是当我尝试调用它时应用程序抛出错误 var sqlite = require('sqlite3')
。还有其他我不知道的步骤吗?
谢谢。
要正确安装 npm 模块,您应该进入电子应用程序的文件夹并通过 npm 安装模块。
npm install --save sqlite3
标志 --save 很重要,因为 npm 会在您的应用程序中安装模块。
之后 require 应该工作。
对于纯 JS(即非本机)模块,您需要以下内容:
- 将模块列在您的
package.json
依赖项中
- 让电子知道在哪里可以找到模块(例如
export NODE_PATH=/PATH/TO/node_module
)
第一个要求很明显,第二个要求源于 this issue。
对于使用 C++ 绑定的本机节点模块(例如 sqlite3
),您需要针对 electron headers 构建它们才能工作。根据 electron docs,最简单的方法是:
npm install --save-dev electron-rebuild
# Every time you run npm install, run this
./node_modules/.bin/electron-rebuild
我是 Electron (Atom-shell) 的新手,我正在尝试将 NodeJS 插件加载到我正在构建的应用程序中,但我不知道如何加载。文档对此并不清楚。
例如,我想在我的应用程序中使用 sqlite3 插件,我使用了 npm install sqlite3
,它已成功安装。但是当我尝试调用它时应用程序抛出错误 var sqlite = require('sqlite3')
。还有其他我不知道的步骤吗?
谢谢。
要正确安装 npm 模块,您应该进入电子应用程序的文件夹并通过 npm 安装模块。
npm install --save sqlite3
标志 --save 很重要,因为 npm 会在您的应用程序中安装模块。
之后 require 应该工作。
对于纯 JS(即非本机)模块,您需要以下内容:
- 将模块列在您的
package.json
依赖项中 - 让电子知道在哪里可以找到模块(例如
export NODE_PATH=/PATH/TO/node_module
)
第一个要求很明显,第二个要求源于 this issue。
对于使用 C++ 绑定的本机节点模块(例如 sqlite3
),您需要针对 electron headers 构建它们才能工作。根据 electron docs,最简单的方法是:
npm install --save-dev electron-rebuild
# Every time you run npm install, run this
./node_modules/.bin/electron-rebuild