@abquintic/electron-plugins 中文文档教程

发布于 7年前 浏览 19 项目主页 更新于 3年前

electron-plugins

用于电子应用程序的插件加载器。

Installation

npm install electron-plugins --save

Usage

在您的电子渲染过程中,您可以像这样加载您的插件:

var plugins = require('electron-plugins');

document.addEventListener('DOMContentLoaded', function () {
  var context = { document: document };
  plugins.load(context, function (err, loaded) {
    if(err) return console.error(err);
    console.log('Plugins loaded successfully.');
  });
});

可以采用以下附加的可选参数:

  • pluginPath: String: The path to find plugins. Defaults to ApplicationRoot/plugins
  • Substitutes: ~ - User home dir per os.homedir() IF first character : - Application Name per package.json IF last character
  • Examples: ~/.config/: - /home/user/.config/MyApp ~: - /home/usr/MyApp
  • makePluginPath: Boolean: Create the plugin path if it is not found. Defaults to false
  • quiet: Boolean: Do not write to the console. Defaults to false.
  • plugins: An Object of user provided plugins in the format { pluginName: pluginVerionsString } using semvar compatible strings OR LINK for the version.

上下文

var plugins = require('electron-plugins');

document.addEventListener('DOMContentLoaded', function () {
  plugins.discover( '', false, function ( err, results ) {
    var context = { document: document };
    if( !err )
    {
      context.plugins = results;
    }
    plugins.load({context: context}, function (err, loaded) {
      if(err) return console.error(err);
        console.log('Plugins loaded successfully.');
    });
  });
});

About your plugin:

对象 应用程序的 AppDirectory 对象(如果应用程序未提供)。 在插件文件夹中,您的插件应该有与其名称相匹配的目录。 安装的每个插件版本都应该有一个子目录,以 semvar 兼容格式(例如:0.0.1)的版本命名,或以开发代码的 LINK 命名。

你的插件需要一个 package.json。 如果未设置 config.main,则假定为 index.js。

你的插件应该导出一个构造函数,它在实例化时传递给上下文对象。 您可以将任何您想要的内容放到上下文对象上。

function Plugin(context) {
  alert("This plugin loaded!");
}

module.exports = Plugin

Examples

electron-plugins

Plugin loader for electron applications.

Installation

npm install electron-plugins --save

Usage

In your electron render process you can load your plugins like so:

var plugins = require('electron-plugins');

document.addEventListener('DOMContentLoaded', function () {
  var context = { document: document };
  plugins.load(context, function (err, loaded) {
    if(err) return console.error(err);
    console.log('Plugins loaded successfully.');
  });
});

The context object may take the following additional, optional parameters:

  • pluginPath: String: The path to find plugins. Defaults to ApplicationRoot/plugins
  • Substitutes: ~ - User home dir per os.homedir() IF first character : - Application Name per package.json IF last character
  • Examples: ~/.config/: - /home/user/.config/MyApp ~: - /home/usr/MyApp
  • makePluginPath: Boolean: Create the plugin path if it is not found. Defaults to false
  • quiet: Boolean: Do not write to the console. Defaults to false.
  • plugins: An Object of user provided plugins in the format { pluginName: pluginVerionsString } using semvar compatible strings OR LINK for the version.

If you would prefer to do plugin discovery, you can load using the following:

var plugins = require('electron-plugins');

document.addEventListener('DOMContentLoaded', function () {
  plugins.discover( '', false, function ( err, results ) {
    var context = { document: document };
    if( !err )
    {
      context.plugins = results;
    }
    plugins.load({context: context}, function (err, loaded) {
      if(err) return console.error(err);
        console.log('Plugins loaded successfully.');
    });
  });
});

About your plugin:

The default plugin folder location is pulled from the AppDirectory object for the application if not provided by the app. Inside the plugins folder, your plugin should have directory matching its name. There should be a subdirectory for each version of the plugin installed, named for the version in semvar compatible format ( example: 0.0.1 ) or LINK for developmental code.

Your plugin will need a package.json. If config.main is not set, it is assumed to be index.js.

Your plugin should export a constructor function, which is passed the context object upon instantiation. You can put whatever you want onto the context object.

function Plugin(context) {
  alert("This plugin loaded!");
}

module.exports = Plugin

Examples

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文