摘要:本節目標你可以在分鐘內開始運行一個最簡單。是一個能幫你用來寫桌面程序的項目。原先是為打造的,后來直接演化成兄弟項目。現在已經有很多大廠也開始使用來寫桌面了。全局安裝,因為我們要用到它的命令行。完美天才第一步,達成
本節目標:你可以在10分鐘內開始運行一個最簡單electron app。不要考慮太多的概念,直接復制粘貼開始吧。
Electron是一個能幫你用JS來寫桌面程序的node項目。原先是為Atom打造的,后來直接演化成兄弟項目。現在已經有很多大廠也開始使用Electron來寫桌面app了。比如獨角獸slack、微軟的VS code、avocode、weFlow等等等等。
ok,接下來就讓我們來開始動手吧。以下內容除去下載文件的時間,三分鐘就可以完成。
1.安裝Electron。
// 全局安裝electron,因為我們要用到它的命令行。 $ npm install electron -g // 但是npm安裝electron要從國外下載一個45MB左右的zip包,特別的慢(8KB...),所以我們可以采用下面的這條安裝命令。 // 這條安裝命令會從淘寶的鏡像站下載這個zip包,速度很快,達到你的帶寬巔峰。 $ npm install electron -g --registry=http://registry.npm.taobao.org // 當然你也可以使用cnpm來全局安裝electron $ npm install cnpm -g --registry=http://registry.npm.taobao.org $ cnpm install electron -g
2.準備三個小文件(以下內容直接粘貼復制)
本部分來自于官網quick start。
新建一個項目目錄文件夾,名字就叫desktopApp好了。
新建三個文件
desktopApp/
├── package.json
├── main.js
└── index.html
三個文件填入以下內容:
在package.json中:
{ "name" : "your-app", "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.
在index.html中
Hello World! Hello World!
We are using node , Chrome , and Electron .
3.運行
在這個項目目錄下面運行一條命令就可以啟動我們的app了。
$ electron .
Done!完美!天才第一步,達成!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86612.html
摘要:本文主要講解的入門。可以幫助我們管理包的下載依賴部署發布等。可以認為是中的。后續使用中,全部替換為即可。命令根據它,自動下載所需模塊用于創建窗口和處理系統事件安裝包的位置。 Electron是什么 可以認為Electron是一種運行環境庫,我們可以基于此,用HTML、JS和CSS寫桌面應用。PC端的UI交互,主要有web應用和桌面應用。具體采用哪種方式,主要看系統的應用場景,哪個更合適...
摘要:目前類似的工具有,等。在渲染進程中,直接調用原生的接口是十分危險的。這里介紹一種,通過和對象,以消息的方式進行通信。主進程獲得消息后,通過返回信息。另外,還提供了一種同步的消息傳遞方式。打包完成功能代碼后,我們需要將代碼打成可運行的包。 介紹 目前,使用前端技術開發桌面應用已經越來越成熟,這使得前端同學也可以參與桌面應用的開發。目前類似的工具有electron,NW.js等。這里我們著...
摘要:首發于酷家樂前端博客標題是我以第一視角基于開發客戶端產品的體驗,我將在之后分一系列文章向有興趣的朋友一步一步介紹我是怎么從玩玩具的心態開始接觸到去開發客戶端產品,最后隨著業務和功能的復雜度提升再不斷地優化客戶端。 首發于酷家樂前端博客 標題是我以第一視角基于 Electron 開發客戶端產品的體驗,我將在之后分一系列文章向有興趣的朋友一步一步介紹我是怎么從玩玩具的心態開始接觸 Ele...
摘要:當一個實例被銷毀后,相應的渲染進程也會被終止。之所以命名為,主要是為了與主進程這個概念對應。部分在事件觸發后才能使用。當全部窗口關閉時退出。主進程接收到消息并處理之后,會返回處理結果。 簡介 Electron 是一個可以使用 Web 技術如 JavaScript、HTML 和 CSS 來創建跨平臺原生桌面應用的框架。借助 Electron,我們可以使用純 JavaScript 來調用豐...
摘要:快速入門提供了豐富的本地操作系統的,使你能夠使用純來創建桌面應用程序。這并不意味著是一個綁定圖形用戶界面的庫。每個頁面在里是運行在自己的進程里,這些進程被稱為渲染進程。有些只能在該事件發生后才能被使用。 快速入門 Electron提供了豐富的本地(操作系統)的API,使你能夠使用純JavaScript來創建桌面應用程序。與其它各種的Node.js運行時不同的是Electron專注于桌面...
閱讀 2227·2021-11-15 11:39
閱讀 982·2021-09-26 09:55
閱讀 925·2021-09-04 16:48
閱讀 2831·2021-08-12 13:23
閱讀 919·2021-07-30 15:30
閱讀 2455·2019-08-29 14:16
閱讀 886·2019-08-26 10:15
閱讀 525·2019-08-23 18:40