electron 打不同环境的包

我用的打包工具: electron-builder

1、在package.json 文件的同级下创建2个js文件 

     electron-builder-test.config.js   electron-builder.config.js

electron-builder-test.config.js

const basejson = require('./electron-builder.config.js');
module.exports = {
  extraMetadata: {  
    //  这个是重点,这个字段会在build的时候将NODE_ENV这个变量插入package.json文件中,所以我们才能    
    //  在别的文件中读取package.json得到NODE_ENV这个字段值,用来判断当前环境是生产还是测试
    NODE_ENV: process.env.NODE_ENV,
  },
  ...basejson
};

electron-builder.config.js  (主要就是一些build的基础配置)

module.exports = {
  productName: 'yourProductName',
  nsis: {
    include: './lib/deleteTempFiles.nsh',
    oneClick: false,
    allowToChangeInstallationDirectory: true,
    installerIcon: './app/icons/icon.ico',
    uninstallerIcon: './app/icons/icon.ico',
    installerHeaderIcon: './app/icons/icon.ico',
    installerSidebar: './app/icons/mark.bmp',
    uninstallerSidebar: './app/icons/mark.bmp',
    perMachine: true
  },
  files: ['src', 'service', 'app', 'const', 'lib'],
  appId: '',
  mac: {
    publish: [
      {
        provider: 'generic',
        url: ''
      }
    ],
    gatekeeperAssess: false,
    hardenedRuntime: true,
    entitlements: './signing/entitlements.mac.plist',
    entitlementsInherit: './signing/entitlements.mac.plist',
    extendInfo: {
      NSMicrophoneUsageDescription: 'Please give us access to your microphone',
      NSCameraUsageDescription: 'Allow your conversational partners to see you in a Grape Call. You can turn off your video anytime during a call.'
    },
    icon: './app/icons/icon.ico',
    extraFiles: [
      {
        from: './app/icons/',
        to: './Resources',
        filter: ['**/*']
      }
    ]
  },
  win: {
    publish: [
      {
        provider: 'generic',
        url: ''
      }
    ],
    icon: './app/icons/icon.ico',
    target: [
      {
        target: 'nsis',
        arch: ['x64']
      }
    ],
    extraFiles: [
      {
        from: './pages',
        to: './Resources/pages',
        filter: ['**/*']
      }
    ],
    requestedExecutionLevel: 'highestAvailable'
  },
  linux: {
    target: 'deb',
    extraFiles: []
  }
};

2、在需要区分环境的地方获取package.json文件 读取变量 区分代码

3、打包命令修改

"build:win": "cross-env NODE_ENV=production electron-builder --config=electron-builder.config.js -w ",
"buildtest:win": "cross-env NODE_ENV=development electron-builder --config=electron-builder-test.config.js -w",

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Electron 是一个用于构建桌面应用程序的开源框架。它支持 Windows、macOS 和 Linux 等操作系统,但默认不支持移动设备,如 Android。如果你想将 Electron 应用程序打成 Android APK,可以使用一些第三方工具,如 Apache Cordova 或 Crosswalk。 下面是使用 Apache Cordova 打 Electron 应用程序为 Android APK 的简要步骤: 1. 安装 Node.js 和 Apache Cordova: ``` $ npm install -g cordova ``` 2. 在 Electron 应用程序的根目录下创建一个 Cordova 项目: ``` $ cordova create myApp com.example.myApp MyApp ``` 其中 `myApp` 是项目的名称,`com.example.myApp` 是应用程序的名,`MyApp` 是应用程序的标题。 3. 添加 Android 平台: ``` $ cd myApp $ cordova platform add android ``` 4. 将 Electron 应用程序的文件复制到 Cordova 项目的 `www` 目录下。 5. 修改 Cordova 项目的 `config.xml` 文件,将 `widget` 标签的 `id` 属性和 `name` 属性修改为应用程序的名和标题。 6. 构建 Android APK: ``` $ cordova build android ``` 构建完成后,APK 文件位于 `platforms/android/app/build/outputs/apk/debug/app-debug.apk`。 以上是使用 Apache Cordova 将 Electron 应用程序打为 Android APK 的基本步骤。需要注意的是,这种方式可能会导致一些性能问题,因为 Electron 应用程序是为桌面环境设计的,而不是移动设备。如果你需要更好的性能和用户体验,可以考虑使用其他移动应用程序开发框架,如 React Native 或 Ionic。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值