美文网首页
electron 打包

electron 打包

作者: 影子_8736 | 来源:发表于2018-08-31 18:30 被阅读0次

    首先我们要安装electron-prebuilt,它是一个npm模块,因此我们可以使用npm来进行安装,它是一个electron的预编译版本。

    npm install   electron-prebuilt

    接下来安装electron-packager ,它也是一个npm模块,是一个用于打包electron应用的工具

    npm install  electron-packager                                                                                    

    electron-packager <应用目录> <应用名称> <打包平台> --out <输出目录> <架构> <应用版本>

    electron-packager . ccrplayer --platform=win32 --arch=ia32 --icon=icon/ico.ico --out=dist 

    因为我们项目应用了ffi模块去调用dll文件去解密一个文件,所以在打包的过程中需要将dll文件也打包进项目.

    asar可以把源码打包到一个文件里面,进而获得一定的代码加密和整合的效果。但是,默认情况下,这个asar里面的文件,是无差别的打包的。会把一些无用的文件打包进去,甚至一些额外的第三方程序。对于后者,第三方程序打包到asar之后,虽然代码逻辑层面还行得通。但是执行效果上,却报错了,无法找到这些第三方程序。具体的症状就是:开发的时候,一切正常。一旦打包(打包成asar),就报错了。

    electron-packager使用了--asar参数的话,您就很可能需要这两个参数:ignore 和 extra-resource。

    ignore ,在将默认打包的范围内,排除掉一些不打包进去的。例如第三方资源文件,是无论如何,都不能打包到asar里面的。打包进去的话,或者没有用,占体积。或者影响程序逻辑实现,不能访问到这些第三方资源。

    extra-resource,可以将第三方资源,在打包的时候,复制到app.asar的同级目录。

    eg : electron-packager ./ app --asar --ignore=res/ --extra-resource=res/

    注:如果要ignore的目录或文件,是很多个的话,直接在命令行里面,叠加很多个--ignore=即可。extra-resource也是类似的用法,直接在命令行里面,叠加很多个--extra-resource=即可。

    因为打包的资源会被引入到resources目录下,所以程序的的相对路径一定要注意调整。最简单的方法是打包之前创建一个resources目录把资源放入该目录下,然后再引入路径进行些修改。然后打包

    eg:   electron-packager . ccrplayer --platform=win32 --arch=ia32 --icon=icon/ico.ico --out=dist --asar --overwrite=force --ignore=native/supzip.dll --extra-resource=supzip.dll

    我的资源是在native/supzip.dll,打包完成之后资源会在resources/supzip.dll,所以我打包之前项目中引入的项目路径就是 resources/supzip.dll。

    相关文章

      网友评论

          本文标题:electron 打包

          本文链接:https://www.haomeiwen.com/subject/virewftx.html