如何打包资源
只想写个图形小工具,本质上还是调用写好的 java 程序,因为我觉得在命令行里面来回切目录,复制路径等操作实在是太麻烦了。
那么我现在已经搞定了如何从 electron 的 js 事件里获得文件路径,我也搞定了如何在 electron 的 main.js 里面创建新的进程执行指令,那么如何使用到打包好的 jar 包或者其他资源呢?
直接看下 packages.json 里面吧。
{
"name": "....",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"start": "export FAVOR=debug && electron .",
"pack": "electron-packager ./ yourAppName --platform=darwin --arch=x64 --app-version=0.0.1 --app-bundle-id=com.xxxx.yourAppName --out=build --overwrite --extra-resource='./extraResources'"
},
"build": {
"extraResources": [
"./extraResourcesapp.asar/src/node_modules/ffmpeg-static/bin/darwin/x64/ffmpeg,但是打包后运行提示了can not found ****/app.asar/src/node_modules/ffmpeg-static/bin/darwin/x64/ffmpeg 很尴尬,但是我去解压了,明明是存在的,后来我去看了类似的一个库node-notifier,发现用的是execFile这个命令,然后我修改了一下,结果。。。。居然就可以了。这个地方谁知道原因,求解答。。。。
修改之后的程序代码:
var ffmpegPath = path.join(
__dirname,
'bin',
platform,
arch,
platform === 'win32' ? 'ffmpeg.exe' : 'ffmpeg'
)
execFile(ffmpegPath, ['-y', '-i', inputPath, cmdStr], function (err, stdout, stderr) {
if (err) {
console.log('error:' + stderr);
reject('error:' + stderr);
} else {
resolve(outputDir + '/' + filename + '.mp3');
console.log('transform to mp3 success! ' + filepath + '->' + outputDir + '/' + filename + '.mp3');
}
});
到此这篇关于electron 如何将任意资源打包的方法步骤的文章就介绍到这了,更多相关electron 任意资源打包 内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!



