首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预制电子模块分布

预制电子模块分布
EN

Stack Overflow用户
提问于 2018-03-09 16:51:51
回答 2查看 1.7K关注 0票数 0

我想为本机Node.js加载项分发预编好的二进制文件.

想必Node.js会在主要的颠簸之间发生变化,所以我想知道使用正确版本的node-pre-gyp运行Node.js是否会减少它,还是必须运行electron-rebuild并发布重建的二进制文件?

实验结果表明,在电子环境中运行时,节点预回转无法找到编译后的二进制文件。因此,electron-rebuild似乎做了一些事情来修补这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-13 11:32:00

我查看了electron-builder的源代码,发现它只是在包上运行install

因此,有以下安装钩子就足够了:

代码语言:javascript
复制
node-pre-gyp install --fallback-to-build

我不再直接使用electron-rebuild了,因为我一开始就生成了正确的二进制文件,但是我运行的electron-builder install-app-deps可能也有类似的功能。

在这一点上,我不认为有任何理由去费心于prebuildprebuild-install。另外两个依赖项屏蔽了node-pre-gypnode-gyp已经实现的内容。

我修改了travis脚本,以便并行运行节点和电子的构建:

代码语言:javascript
复制
# build for nodejs
- npm install --build-from-source

# build for electron
- npm install --build-from-source --runtime=electron --target=$ELECTRON_VERSION --dist-url=https://atom.io/download/atom-shell

打包步骤必须使用相同的标志运行两次,即:

代码语言:javascript
复制
- if [[ "${TRAVIS_TAG}" != "" ]]; then npm run package --verbose; fi
- if [[ "${TRAVIS_TAG}" != "" ]]; then npm run package --runtime=electron --target=$ELECTRON_VERSION --verbose; fi

Travis和Appveyor都支持上传到Github或S3,因此使用prebuildnode-pre-gyp-github (例如,Travis)没有任何好处:

代码语言:javascript
复制
deploy:
  provider: releases
  api_key:
    secure: ENCRYPTED_KEY
  file_glob: true
  file: build/stage/$PACKAGE_VERSION/*.tar.gz
  skip_cleanup: true
  on:
    tags: true
票数 3
EN

Stack Overflow用户

发布于 2018-03-10 00:03:05

您可以使用prebuild为电子创建预构建的二进制文件。我们用它做leveldown

https://github.com/prebuild/prebuild

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49198482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档