帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:Meteor  PAC  electron  PACK  
Package your Meteor apps with Electron, and butter

  • 源代码名称:electrify
  • 源代码网址:http://www.github.com/arboleya/electrify
  • electrify源代码文档
  • electrify源代码下载
  • Git URL:
    git://www.github.com/arboleya/electrify.git
  • Git Clone代码到本地:
    git clone http://www.github.com/arboleya/electrify
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/arboleya/electrify
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • 通电 windowstraviscoveragejoin the chat at https://gitter.im/arboleya/electrify

    轻松封装你的Meteor 应用电子,和黄油。

    ;DR

    npm install -g electrifycd/your/meteor/app
    electrify

    兼容性

    对 Meteor 平台的所有支持工作。

    帮助

    $ electrify -h
     Usage: electrify [command] [options]
     Commands:
     run (default) start meteor app within electrify context
     bundle bundle meteor app at `.electrify` dir
     package bundle and package app to `--output` dir
     Options:
     -h, --help output usage information
     -V, --version output the version number
     -i, --input <path> meteor app dir | default = . -o, --output <path> output dir | default =. electrify/.dist
     -s, --settings <path> meteor settings file | default = null (optional)
     Examples:
     # cd into meteor dir firstcd/your/meteor/app
     electrify
     electrify run
     electrify package
     electrify package -o/dist/dir
     electrify package -o/dist/dir -s file.json
     electrify package -i/app/dir -o/dist/dir -s dev.json
     electrify package -- <electron-packager-options># more info about electron packager options:# ~> https://www.npmjs.com/package/electron-packager

    安装

    npm install -g electrify

    为了从 Meteor 调用电子方法,你还需要安装 arboleya:electrify Meteor 包。 有关更多信息,请检查 Meteor x 电子集成。

    正在运行应用程序

    cd/your/meteor/app
    electrify

    封装

    cd/your/meteor/app
    electrify package

    包装过程是通过 electron-packager npm包在罩下完成的。 将自动设置以下变量:

    • --out -- 来自选项 [-o, --out]。
    • --arch -- 来自系统 [current arch] 系统。
    • --platform -- 来自系统 [current platform] 系统。
    • --version -- 来自 electrify/package。json [current app version]

    你可以覆盖这些默认值,也可以通过在 --,i.e 之后直接将自定义参数传递到 electron-packager 来设置其他值:

    cd/your/meteor/app
    electrify package -- --icon=/folder/x/img/icon.png --version=x.y.z

    可以在这里找到 electron-packager的所有可用选项: https://www.npmjs.com/package/electron-packager

    注释

    输出应用将 MATCH的当前操作系统和arch类型。

    • 要获得一个收费的Osx应用,从一个收费的Osx机器运行。
    • 要获得位的Linux 32应用程序,请从位的32bit机器运行它。
    • 要获得位的Linux 64应用程序,可以从位的Linux 机器运行它。
    • 要获得一个收费的Windows 位应用程序,请从位的32位 Windows 机器运行。
    • 要获得一个收费的Windows 位应用程序,请从位的64位 Windows 机器运行。

    ,这类库的本机绑定,比如 Fibers --,必须在安装这个插件之前在所需平台上充分工作,然后再打包应用程序。

    所以,现在,你不能在单个操作系统中以跨平台方式打包应用程序。

    也许你可以跟它一起生活? : )

    use一次使用选项输出多个 arch/platform,例如。 它将不会工作,电电可以只包装 Meteor 应用程序,你正在运行的平台。

    命令行选项

    结构

    在 Meteor 应用程序目录中,你会看到一个名为 .electrify的新文件夹,它的结构如下所示:

    
    /your/meteor/app
    
    
    ├──. electrify
    
    
    │ ├──. gitignore
    
    
    │ ├── electrify.json
    
    
    │ ├── index.js
    
    
    │ └── package.json
    
    
    ├──. meteor
    
    
    └──.. .
    
    
    
    

    这是一个纯电子项目,所以你可以在这个文件夹中使用来自JS文件的整个电子 API。 另外,你可以安装电子依赖项并将它们存储在 package.json 文件中。 请注意,electrify 包本身是一个依赖项。

    将这里文件夹视为你的Meteor 应用程序的desktop layer。 请记住签出 index.js 文件,它constains启动/停止使用。

    electrify.json 文件将保存通电的特定首选项,如插件等。 它仍然是 WIP,但是你可以绕过它。

    配置( electrify.json )

    现在,这里只有一个选项: preserve_db

    将它的设置为 true,以便在安装之间保留数据库。 它通过保存用户文件夹的mongo数据目录 inside 数据,而不是在应用文件夹(。安装新版本时将被删除) 中自我包含。

    定制

    让我们看看一个人能如何做一个简单的展示:

    var app =require('app');var browser =require('browser-window');var electrify =require('electrify')(__dirname);varwindow=null;var splash =null; // splash variableapp.on('ready', function() {
     splash =newbrowser({ // starts splash window//>> > your configs here });
     splash.loadUrl('./splash.html'); // create the".electrify/splash.html" file// then move along and start electrifyelectrify.start(function(meteor_root_url) {
     // before opening a new window with your app, destroy the splash windowsplash.close(); //>> > or. destroy(), check what works for you// from here on, well, nothing changes..window=newbrowser({
     width:1200, height:900,
     'node-integration':false// node integration must to be off });
     window.loadUrl(meteor_root_url);
     });
    });//.. ..

    Meteor x-电子集成

    你可以从 Meteor 代码的客户端/服务器无缝地调用电子方法。

    定义你的电子方法 inside的.electrify 文件夹:

    // `.electrify/index.js` fileelectrify.methods({
     'hello.world':function(firstname, lastname, done) {
     // do things with electron api, and then call the `done` callback// as ~> done(err, res);done(null, 'Hello '+ firstname +''+ lastname +'!');
     }
    });

    然后,在 Meteor 代码( 客户端和服务器) 中,可以调用以下方法:

    // Electrify.call(method_name, args, done_callback);Electrify.call('hello.world', ['anderson', 'arboleya'], function(err, msg) {
     console.log(msg); // Hello anderson arboleya!});

    重要

    在 Meteor 和电子之间建立连接后,只能调用方法,以确保它已经准备好将代码打包到一个启动块中:

    Electrify.startup(function(){
     Electrify.call(...);
    });

    插件升级

    升级到较新版本时,要了解以下内容,需要花费的时间:

    ~> 模板

    一旦这些文件存在于磁盘上,它们将不会被覆盖。

    • .electrify/index.js
    • .electrify/package.json
    • .electrify/electrify.json
    • .electrify/.gitignore.json

    ~> api

    因为这些文件不被覆盖,在任何需要调整的API更改中,这些都必须手工做出。

    ~> 版本匹配

    在 Meteor 中始终保持相同的通电版本,并按照在 .electrify/package.json 文件中指定的方式,将 .electrify 文件夹( ) 设置为 inside。

    问题?

    不打开问题,请使用聊天频道。

    join the chat at https://gitter.im/arboleya/electrify

    问题?

    这是非常年轻和活跃的软件,所以在打开一个问题之前,请确保你总是最新的。 通过 HISTORY.md 插件文件执行发布修复。

    如果你发现任何问题,请详细介绍如何重现问题,platform/os/arch 类型和 Meteor 电解。

    许可证

    麻省理工学院许可证( MIT )

    版权所有( c ) 2015安德森 Arboleya



    文章标签:PAC  PACK  Meteor  electron  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语