GVKun编程网logo

uniapp项目打包为桌面应用的方法步骤(uniapp怎么打包)

15

如果您想了解uniapp项目打包为桌面应用的方法步骤和uniapp怎么打包的知识,那么本篇文章将是您的不二之选。我们将深入剖析uniapp项目打包为桌面应用的方法步骤的各个方面,并为您解答uniapp

如果您想了解uniapp项目打包为桌面应用的方法步骤uniapp怎么打包的知识,那么本篇文章将是您的不二之选。我们将深入剖析uniapp项目打包为桌面应用的方法步骤的各个方面,并为您解答uniapp怎么打包的疑在这篇文章中,我们将为您介绍uniapp项目打包为桌面应用的方法步骤的相关知识,同时也会详细的解释uniapp怎么打包的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

uniapp项目打包为桌面应用的方法步骤(uniapp怎么打包)

uniapp项目打包为桌面应用的方法步骤(uniapp怎么打包)

安装electron

cnpm install electron -g

安装electron-packager

cnpm install electron-packager -g

uniapp的manifest.json修改

在这里插入图片描述

H5打包

在这里插入图片描述

H5文件夹下新建package.json和main.js

在这里插入图片描述

新建package.json

{
  "name"    : "app-name",
  "version" : "0.1.0",
  "main"    : "main.js"
}

新建main.js

const {app, BrowserWindow} = require(''electron'')
const path = require(''path'')
const url = require(''url'')

// Keep a global reference of the window object, if you don''t, the window will
// be closed automatically when the JavaScript object is garbage collected.
let win

function createWindow () {
  // Create the browser window.
  win = new BrowserWindow({width: 800, height: 600})

  // and load the index.html of the app.
  win.loadURL(url.format({
    pathname: path.join(__dirname, ''index.html''),
    protocol: ''file:'',
    slashes: true
  }))

  // Open the DevTools.
  // win.webContents.openDevTools()

  // Emitted when the window is closed.
  win.on(''closed'', () => {
    // Dereference the window object, usually you would store windows
    // in an array if your app supports multi windows, this is the time
    // when you should delete the corresponding element.
    win = null
  })
}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on(''ready'', createWindow)

// Quit when all windows are closed.
app.on(''window-all-closed'', () => {
  // On macOS it is common for applications and their menu bar
  // to stay active until the user quits explicitly with Cmd + Q
  if (process.platform !== ''darwin'') {
    app.quit()
  }
})

app.on(''activate'', () => {
  // On macOS it''s common to re-create a window in the app when the
  // dock icon is clicked and there are no other windows open.
  if (win === null) {
    createWindow()
  }
})

// In this file you can include the rest of your app''s specific main process
// code. You can also put them in separate files and require them here.

打包

建议使用cmd,本人使用powershell和git hash有踩坑
按shift+右键根目录,或者cd 你的目录

cmd命令行进入H5目录,输入打包命令

electron-packager . 可执行文件的文件名 --win --out 打包成的文件夹名 --arch=x64位还是32位 --electron-version版本号(不是你的h5版本号,是electron版本号) --overwrite --ignore=node_modules

打包示例

electron-packager . MyApp --win --out MyApp --arch=x64 --electron-version 1.0.0 --overwrite --ignore=node_modules

参考

https://ext.dcloud.net.cn/plugin?id=2905
https://www.cnblogs.com/shangrao/p/14661884.html

到此这篇关于uniapp项目打包为桌面应用的方法步骤的文章就介绍到这了,更多相关uniapp项目打包内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • uniapp打包成微信小程序的详细过程
  • uniapp开发打包成H5部署到服务器的详细步骤
  • 利用uniapp开发APP时的调试/安卓打包等详解
  • uniapp开发打包多端应用完整方法指南
  • uniapp打包安卓App的两种方式(云打包、本地打包)方法详解

Electron – 基础学习(2): 项目打包成exe桌面应用

Electron – 基础学习(2): 项目打包成exe桌面应用

项目创建完成,启动正常,接下来就是项目打包了。将测试Demo打包成exe桌面应用,点击exe文件,运行项目。

书接上文,创建项目有三种方式 Git拷贝、直接创建、通过electron社群提供的命令行工具(CLI)  electron-forge 创建项目,看起来对应的项目打包方式也应该有三种才对,但其实细看第一种方式和第三种项目创建方式是一样的,所以它们的项目打包方式也是一样的。

打包 electron 项目webpack工具有 electron-packager 和 electron-builder 两种。下面先从 electron-packager 开始,一个个来。

第一步:全局安装 electron-packager,便于系统通用

npm install -g electron-packager 或 cnpm install -g electron-packager

 

第二步:打包 electron 项目

  (1)、Git拷贝 对应打包、直接创建项目 对应打包。

  a:通过命令行(CMD)进入需要打包的项目(测试项目electron-quick-start 或 electronSelfBuilt) 项目文件夹 或代码编辑工具(vscode、webstorm)等直接打开项目。

  b:打开 package.json 文件,找到  "scripts" 项,查看 "scripts" 项内是否有 项目打包 相关参数配置,即“package”参数。(注:electron-quick-start 从库上拉下来,"scripts" 项内没有“package”参数)

  

   

            图1:打包相关参数, “package” 不存在                                        图2:打包相关参数, “package” 存在

    b1:如果  package参数,如上图2所示,则继续执行下面c步骤,进行项目打包。

    b2:如果 没有 package参数,如上图1所示,那么也有三种打包方式。就需要我们在"scripts" 项内自行添加 package参数

      b21:直接输入命令 electron-packager .  (注意后面这个点,在这必须要有,这个 . 在这表示源文件所在路劲。如果源文件和 package.json 文件不在同一级目录下,则应将 . 换成对应的源文件目录),进行打包。

        electron-packager . 或 electron-packager ./xxxxxx

        打包完成后,在当前目录下会自动生成了一个新的文件夹 electron-quick-start-win32-x64,点开新文件夹 electron-quick-start-win32-x64 里面有一堆文件,如下图所示:

        

  

      b22:在 electron-packager .  命令中配置打包参数(这个其实就是b21 中 electron-packager . 命令的改良版)

        命令格式:electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...]

        参数说明:

          sourcedir:项目源文件所在路径(唯一的必填参数,b21中的 . 就是源文件路劲)
          appname:打包完成后项目名称(非必填参数。不填的情况下,项目打包完成后会自动以 package.json 文件中的 productName 或 name 属性 命名)
          platform:需要构建那种平台的应用(all,或下面的一种或几种:darwin,linux,mas, win32 (如有多个,用, 隔开)。默认为当前平台类型 (all, or one or more of: darwin, linux, mas, win32 (comma-delimited if multiple).Defaults to the host platform))

          arch:决定使用那种系统类型(all,或下面的一种或几种:ia32(32位系统), x64(64位系统), armv7l, arm64, mips64el(如有多个,用, 隔开)。默认为当前系统类型 (all, or one or more of: ia32, x64, armv7l, arm64, mips64el (comma-delimited ifmultiple). Defaults to the host arch))

          optional options:其他可选 配置项
        命令实例:electron-packager . tempApp --win32 tempApp --arch=x64   (备注::源文件所在路径;tempApp :打包完成后项目名称;--win32:构建Windows平台应用;tempApp:打包完成后 应用存放文件夹;x64:64位系统)

         

   

      b23:上面两种方式虽说都可以完成打包,但是每次打包都需要输入老长的命令,尤其是b22,还有各种配置,就这表示我们要去记这些配置,是很麻烦的,所以。

  c:执行打包命令,进行打包

  npm run-script package 或 cnpm run-script package

  d:打包成功,在当前目录下生成一个新的文件夹,里面生成一堆文件,如下图:

  点击其中的exe,即可启动桌面程序:

  (2)、electron-forge 创建项目 对应打包。

  

  该配置的 electron-forge init 初始化项目的时候都配置好了,我们只需要执行命令: npm run-script package 或 cnpm run-script package 就行,所以说CLI 工具打包是真的简单。

  npm run-script package 或 cnpm run-script package

    打包前源代码文件结构,及打包命令执行:

  

    打包命令执行完毕,及打包后源代码文件结构:

  

 

    进入 out文件夹 -> electrontest-win32-x64文件夹 找到

,双击exe应用程序,启动项目。

    

总结

以上是小编为你收集整理的Electron – 基础学习(2): 项目打包成exe桌面应用全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

原文地址:https://www.cnblogs.com/donghuang/p/12170562.html

electron 将pc端(vue)页面打包为桌面端应用

electron 将pc端(vue)页面打包为桌面端应用

背景

图片描述

最近在学习RxJS,平时边看文档边顺手就敲一敲那些API,有时候想回顾一些自己写的东西,就要先把项目跑起来,这也难免有些麻烦。于是乎,就想着把自己写的这个小项目打包成桌面端,方面每次打开电脑就能看。经过网上查阅,比较成熟的解决方案很多,比如electron,nw.js等等。最终选定用electron,因为他的星星最多,哈哈。

这个练手Rxjs的小项目是用vue跑的,之前没玩过vue,顺手玩一下。打包桌面端,跟前端框架无关,只是想夸一下vue在构建项目上的体验真的好,简单方便,会以yes or no的形式让你完成一个主流的前端框架(回想以前构建angular应用,还要打开help,看一大堆api,在这一点用户体验上angular真是输了,不知道最近的ng5变没变)。

electron

Electron uses Chromium and Node.js so you can build your app with HTML, CSS, and JavaScript. Open Source Cross Platform Compatible with Mac, Windows, ...

简单来说,electron是基于Chromium 和 Node.js 来构建一个跨平台应用的。Chromium是一个开源浏览器,与chrome区别是不会自动更新,但是一些新特性貌似会在Chromium先上。

electron-quick-start

最开始的时候,没敢直接在vue中插入这个electron(毕竟连怎么用都不知道),于是先clone了一个starter来快速学习一下。

git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
cnpm install //这里我用的是cnpm,npm太慢了 
npm start

项目跑起来之后,不出意外就出现了electron的桌面端页面,看了下其中的入口文件main.js

 mainWindow.loadURL(url.format({
    pathname: path.join(__dirname, ''index.html''),
    protocol: ''file:'',
    slashes: true
  }))

这段代码就是配置桌面端应用的入口,于是果断去把vue的项目打包,直接把前端静态资源扔到这里,替换之前的文件。然后继续运行npm run start,然后白屏习惯性的首次失败。。),不过问题也很快解决了,因为vue打包项目,默认使用的是绝对路径,所以到这里就有点小问题。解决方法:

图片描述

进入config文件夹下的index.js将其中的assetsPublicPath修改为相对路径 ./。

再次运行npm run start,成功将vue的项目,显示为桌面应用。

图片描述

此时还是在electron的starter项目当中,这样显然太麻烦了,于是下面就将electron引入 vue。

vue 中引入electron

首先在vue项目的package.json中加入electron的依赖,

cnpm install electron --save-dev 
cnpm install electron-packager --save-dev //这个是打成exe文件的插件,之后要用,提前下载好

把electron-quick-start项目中的main.js搬到vue的build文件中,并改个名字electron.js

图片描述

因为文件的相对位置进行了改变,electron的入口文件变成了vue build之后的文件地址,也就是dist文件夹下的 index.html,所以此时的electron.js 里面的引用地址也要变,即:

mainWindow.loadURL(url.format({
    pathname: path.join(__dirname, ''../dist/index.html''),
    protocol: ''file:'',
    slashes: true
  }))

在package.json文件中增加一条指令,用来启动electron,即:

"scripts": {
    "dev": "node build/dev-server.js",
    "start": "npm run dev",
    "build": "node build/build.js",
    "lint": "eslint --ext .js,.vue src",
    "electron_dev": "npm run build && electron build/electron.js"
  },

electron_dev 就是用来启动electron的,在此之前我们一定要确保项目当中已经有构建好的静态资源文件,因此 在运行 electron build/electron.js 之前,首先运行 npm run build。

经过这样的处理,在命令行中,运行 npm run electron_dev之后,就会将之前在electron-quick-start中显示的桌面应用,再次显示出来。

到这一步,一直非常顺利,然而就在一切都理所应当的时候,打包exe文件出现了问题。

打包exe文件

以上这些东西自己连调带试的搞了1小时左右吧,没看时间,反正我觉得挺快。然而,之后打包这个exe就花了1个小时还多!心好累。。。

首先,为之前下载好的electron-packager,增加一条启动命令。

 "scripts": {
    "dev": "node build/dev-server.js",
    "start": "npm run dev",
    "build": "node build/build.js",
    "lint": "eslint --ext .js,.vue src",
    "electron_dev": "npm run build && electron build/electron.js",
    "electron_build": "electron-packager ./dist/ --platform=win32 --arch=x64 --icon=./src/assets/favicon.ico --overwrite"
  },

关于electron-packager的配置,简单介绍一下。
electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...]

  • sourcedir 资源路径,在本例中既是./dist/

  • appname 打包出的exe名称

  • platform 平台名称(windows是win32)

  • arch 版本,本例为x64

后边的配置项都是选填,可以设置二进制打包等,默认是没有这些的,这里只选填了exe的图标。

npm run electron_build

图片描述

运行打包exe的命令,还是一如既往的顺利,项目中成功出现打包好的文件夹,但是去文件夹中启动exe时,状况发生了。

图片描述

报错说找不到一个合法的app,什么鬼。。。
谷歌上搜了半天,有说版本不对,重新下载node模块的,有说路径不对的。其中我看到报错指向了asar,可我明明没有设置二进制打包啊,于是跟这个asar斗争了很久。

最后发现跟这个asar屁关系没有!

在看到有相关问题出现的谈论下,看到解决方案是没有把package.json放入文件夹,开始还搞不明白为什么还要一个package.json ,后来翻回头来才发现自己太想当然了,以为dist/下是去拿index.html,其实人家是要去拿package,然后再去找入口的js,最后才去找index.html.

于是先手动在dist文件夹下增加electron.js和package.json。

图片描述

package的main指向从build文件夹中复制来的electron.js(记得把electron.js中index.html的路径做修改)

 mainWindow.loadURL(url.format({
    pathname: path.join(__dirname, ''index.html''),
    protocol: ''file:'',
    slashes: true
  }))

再次运行npm run electron_build得到打包好的文件夹,找到其中的*.exe,双击运行,终于又出现了熟悉的画面。

图片描述

总结

至此,vue打包桌面端就这样完成了。在此过程中,发现自己做东西还是有些武断,太想当然了,导致在一些弯路里绕了很久。以后还是要多看文档,稳扎稳打!

项目地址:https://github.com/jiwenjiang...

Electron+Vue – 基础学习(2): 项目打包成exe桌面应用

Electron+Vue – 基础学习(2): 项目打包成exe桌面应用

项目创建完成,启动正常,接下来就是项目打包了。将测试Demo打包成exe桌面应用,点击exe文件,运行项目。

书接上文,创建项目有三种方式 Git拷贝、直接创建;通过electron社群提供的命令行工具(CLI)  electron-forge 创建项目,看起来对应的项目打包方式也应该有三种才对,但其实细看第一种方式和第三种项目创建方式是一样的,所以它们的项目打包方式也是一样的。

打包 electron 项目webpack工具有 electron-packager 和 electron-builder 两种,下面先从 electron-packager 开始,一个个来。

总结

以上是小编为你收集整理的Electron+Vue – 基础学习(2): 项目打包成exe桌面应用全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

electron11.x+vue-cli4.x实现vue项目打包为桌面应用

electron11.x+vue-cli4.x实现vue项目打包为桌面应用

一直想用electron把vue项目打包成桌面应用,网上找教程发现都是vue-cli2.x的,用的人真少导致更新不及时。好在终于在b站上找到了一个解决方案,记录一下。

一、新建vue项目

vue create test

二、进入test项目,安装electron-builder

cd test
vue add electron-builder

选择版本最新的(写这篇文章时版本为11.x)

这个过程中可能会卡在electron-builder依赖包的下载中,导致超时失败,如果没有可以跳过下面的步骤

====================================================================
如果失败,在文件夹

C:\Users\Administrator\AppData\Local

下,新建electron文件夹

在这里插入图片描述

打开electron,新建子文件夹Cache

在这里插入图片描述

在https://github.com/electron/electron/releases
找到你对应的版本

在这里插入图片描述

右键复制链接地址,在Cache中新建子文件夹,将链接地址作为子文件夹名

在这里插入图片描述

下载后将文件放置该目录下

在这里插入图片描述

再下载下图文件

在这里插入图片描述


在这里插入图片描述

这里推荐一个下载软件:Motrix
可以搜索下载并安装,下载github项目会比较快

在这里插入图片描述

====================================================================
这个时候项目应该可以run起来了

npm run electron:serve

首次启动会默认安装vue dev tools这个需要科学上网,否则会超时,但不影响项目run起来:

在这里插入图片描述


在这里插入图片描述


可以在background.js中将如下代码注释掉,就可以跳过以上下载了。

在这里插入图片描述


三、打包项目

npm run electron:build

如果下载文件超时:

在这里插入图片描述


把刚才的下载的文件在Cache文件夹下再放置一份,或者再次build,一般会自己下载好:

在这里插入图片描述


再次build:完成!

在这里插入图片描述


在dist目录中就可以看到安装文件了:

在这里插入图片描述


安装好后就是这个样子,

在这里插入图片描述


如果想自定义图标,安装过程等,可以新建vue.config.js
参考配置:

module.exports = {
  pluginoptions: {
    electronBuilder: {
      builderOptions: {
        appId: ''made by liukai'',
        productName: ''test'', //项目名,也是生成的安装文件名,即test.exe
        copyright: ''copyright © 2020'', //版权信息
        directories: {
          output: ''./dist_electron'', //输出文件路径
        },
        win: {
          //win相关配置
          icon: ''./turtle.ico'', //图标,当前图标在根目录下,注意这个图标必须是256x256
          target: [
            {
              target: ''nsis'', //利用nsis制作安装程序
              arch: [
                ''x64'', //64位
              ],
            },
          ],
        },
        mac: {
          //mac相关配置
          icon: ''./turtle.ico'', //图标,当前图标在根目录下,注意这个图标必须是256x256
          target: [
            {
              target: ''default'',
            },
          ],
        },
        nsis: {
          oneClick: false, // 是否一键安装
          allowElevation: true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
          allowtochangeInstallationDirectory: true, // 允许修改安装目录
          installerIcon: ''./turtle.ico'', // 安装图标
          uninstallerIcon: ''./turtle.ico'', //卸载图标
          installerHeaderIcon: ''./turtle.ico'', // 安装时头部图标
          createDesktopShortcut: true, // 创建桌面图标
          createstartmenuShortcut: true, // 创建开始菜单图标
          shortcutName: ''test'', // 图标名称
        },
      },
    },
  },
}

图标文件放置在同级目录下

在这里插入图片描述


再次build:

在这里插入图片描述


在这里插入图片描述

总结

以上是小编为你收集整理的electron11.x+vue-cli4.x实现vue项目打包为桌面应用全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

原文地址:https://blog.csdn.net/weixin_41949144/article/details/116518094

今天的关于uniapp项目打包为桌面应用的方法步骤uniapp怎么打包的分享已经结束,谢谢您的关注,如果想了解更多关于Electron – 基础学习(2): 项目打包成exe桌面应用、electron 将pc端(vue)页面打包为桌面端应用、Electron+Vue – 基础学习(2): 项目打包成exe桌面应用、electron11.x+vue-cli4.x实现vue项目打包为桌面应用的相关知识,请在本站进行查询。

本文标签: