elctron项目_electron项目结构介绍
#项目结构
my-project
├─ .electron-vue(webpack配置文件)│ └─ build.js(生产环境构建代码)
│ └─ dev-client.js(热加载相关)
│ └─ dev-runner.js(开发环境启动入口)
│ └─ webpack.main.config.js(主进程配置文件)
│ └─ webpack.renderer.config.js(渲染进程配置文件)
│ └─ webpack.web.config.js
├─ build(是文件打包使用的)
│ └─ win-unpacked/
│ │ ├─ locales(地区语言资源包)
│ │ ├─ resources(地区语言资源包)
│ │ ├─ *.dll(动态链接库)├─ dist(打包后的文件资源)
│ ├─ electron/├─ node_modules/(依赖目录)├─ src(源码)
│ ├─ main(主进程)
│ │ ├─ index.dev.js(捆绑index.js)
│ │ └─ index.js(主进程的进程JS)
│ ├─ renderer(渲染进程)
│ │ ├─ assets/(放置静态资源,如图片,视频,静态配置)
│ │ ├─ components/(放置vue页面)│ │ ├─ router/(放置页面路由)│ │ ├─ store/(放置公共模块,如vuex)│ │ ├─ App.vue
│ │ └─ main.js
│ └─ index.ejs
├─static/(静态文件)├─ test
│ ├─ e2e
│ │ ├─ specs/│ │ ├─ index.js
│ │ └─ utils.js
│ ├─ unit
│ │ ├─ specs/│ │ ├─ index.js
│ │ └─ karma.config.js
│ └─ .eslintrc
#全局配置文件
├─ .babelrc
├─ .eslintignore
├─ .eslintrc.js
├─ .gitignore
├─ package.json
└─ README.md
#语法规范
require 是 AMD规范引入方式
require是运行时调用,所以require理论上可以运用在代码的任何地方
require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
import是编译时调用,所以必须放在文件开头
import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require
#模块功能说明
electron.app:负责管理Electron 应用程序的生命周期
electron.BrowserWindow:负责创建窗口
globalShortcut:模块可以在操作系统中注册/注销全局快捷键, 以便可以为操作定制各种快捷键
Menu:创建原生应用菜单和上下文菜单
ipcMain:当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息。 从渲染器进程发送的消息将被发送到该模块
Notification:创建OS(操作系统)桌面通知
fs:在 NodeJS 中,所有与文件操作都是通过 fs 核心模块来实现的,包括文件目录的创建、删除、查询以及文件的读取和写入,在fs 模块中,所有的方法都分为同步和异步两种实现,具有 sync 后缀的方法为同步方法,不具有 sync 后缀的方法为异步方法
path:Node.js path 模块提供了一些用于处理文件路径的小工具
screen:检索有关屏幕大小、显示器、光标位置等的信息
shell:提供与桌面集成相关的功能
webContents:渲染以及控制 web 页面
ffi(Foreign Function Interface):node调用动态链接库(.so/.dll文件),解决NodeJS的本地调用问题,其流程就相当于Windows下的LoadLibrary()和GetProcAddress(),亦可以理解为NodeJS下的平台调用。
sql.js:sqlite的Webassembly版,使用上和sqlite基本没有区别,一个开箱即用的sql库
child_process.exec(): 衍生一个 shell 并在该 shell 中运行命令,当完成时则将stdout和stderr传给回调函数
#变量说明
__dirname:总是指向被执行 js 文件的绝对路径
__filename:获取当前模块文件的带有完整绝对路径的文件名
#为什么要用dll
需要使用系统 API 操作或扩展应用程序;
需要调用第三方的接口API,特别是与硬件设备进行通信,而这些接口 API 基本上都是通过 C++ 动态链接库(DLL)实现的;
需要调用C++实现的一些复杂算法等。
elctron项目_electron项目结构介绍相关推荐
- 【Vue】—项目的目录结构介绍
[Vue]-项目的目录结构介绍
- 六十一、分析Springboot中的项目结构介绍
@Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 文章目录 spring项 ...
- Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】
视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...
- .NET Core实战项目之CMS 第十三章 开发篇-在MVC项目结构介绍及应用第三方UI
作为后端开发的我来说,前端表示真心玩不转,你如果让我微调一个位置的样式的话还行,但是让我写一个很漂亮的后台的话,真心做不到,所以我一般会选择套用一些开源UI模板来进行系统UI的设计.那如何套用呢?今天 ...
- Django框架学习——1—(虚拟环境搭建、MVC思想与Django的MVT区别、Django项目的创建、运行Django项目、项目结构介绍)
1.虚拟环境搭建 创建新的Django框架的虚拟环境: 注意:如果没有pipenv指令,需要安装这个支持库,同时需要记住配置它的环境变量,否则虚拟环境会安装在默认文件夹下(一般是C:\Users\Ad ...
- 原生Android开发基础项目结构介绍
原生Android开发基础项目结构介绍 1.软件整体结构 2.具体的页面书写 3.实例分析 4.后续 下面先来总结一下软件的基本目录结构,这一般是开发的关键,只有明白了软件的目录结构,才能更加 ...
- web项目结构介绍及创建Maven web项目
工具:IDEA旗舰版2021.3.1(社区版不太方便,亲测) 一.web项目结构介绍 首先就是这样的结构 projectname src main java ...
- vue-cli构建SPA项目结构介绍spa完成路由开发及嵌套路由
目录 一.vue-cli构建SPA项目结构介绍 二.spa完成路由开发 三. 嵌套路由 一.vue-cli构建SPA项目结构介绍 前提:搭建好NodeJS环境 node -v npm -v ...
- Vue项目目录结构介绍(三)
前言 本章我们会对一个 Vue 项目的目录结构进行讲解,解释各子目录以及文件的作用,前端的模块化,Vue 单文件组件规范等. 1.基础目录和文件介绍 在上一章,我们通过 vue-cli 创建了一个新的 ...
最新文章
- 在Windows和Linux上编译gRPC源码操作步骤(C++)
- 万航单位换算器 V1.0 绿色版
- android+系统屏幕亮度,android 设置系统屏幕亮度
- 使用pushMeBaby后台测试远程推送
- 如何优化MySQL千万级大表
- IDEA无法加载log文件
- java中迭代器要导包吗_java 中迭代器的使用方法详解
- pku1189 钉子和小球
- Notification小案例
- Android 学习笔记--android基本
- JSP-02动态网页技术基础
- KMP扩展KMPManacher算法基础与习题(第二更)
- word替换向下箭头符号
- 独门秘籍 针式打印机换针小窍门
- 数据结构 ADT例子
- 阅读《人类简史》-- 1.认知革命
- c# AutoCAD 操作交互
- 【资源】这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper!
- android蓝牙传输文件到mysql_蓝牙opp文件发送过程剖析
- 一篇文章教会大家制作小程序,利用小程序创业。
热门文章
- 防saq注入_去中心化交易所CYBEX将为区块链ICO注入新的价值观
- 电脑word在哪_word是什么?小学生:单词,大学生:论文排版工具
- html代码style图片width,HTML Style columnWidth用法及代码示例
- js获取数组中最大和最小值
- uniapp 用户登录
- list和对象数据复制CopyUtil工具类
- Intellij IDEA中Mybatis Mapper自动注入警告的6种解决方案
- MyBatis-Plus_快速入门0222
- powerdesigner逆向工程(sql转pdm)
- mybatis plus实现多表分页条件查询