Electron 实战必备:electron 依赖安装 |
• electron 版本选择(目前最新 18.2.0 )
• electron-builder 版本选择 |
客户端实战开发必备知识 |
• 进程和线程
• 主进程和渲染进程
• 进程间通信
• 跨进程访问
• 以及 electron 升级中遇到的常见问题 |
主进程 |
• 如何创建窗口的案例 - BrowserWindow
• 如何加载网页的案例 - loadURL
• 窗口关闭事件监听回收 的案例
• app 事件监听的案例 * ready
* window-all-closed
* activate
• 其他高阶模块的案例
* ipcMain 发送和监听消息案例
* autoUpdater 自动升级案例
* 部分原生 UI 模块案例: menu 案例 & dialog 案例 |
调试 |
• 主进程调试:
* Node 进程基于 --inspect
* 常见问题:端口冲突,增加命令参数指定端口
• 渲染进程调试:
* Chromium 的一个窗口,和网页调试类似,基于 devtools
* 代码启动窗口的时候设置 mainWindow.webContents.openDevTools()
• 在 VSCode 调试(高级篇):
* 安装 Debugger for Chrome
* 配置 .vscode/launch.json
• 生产环境调试:
* 基于 Debugtron
* 常见问题解决 |
基于脚手架搭建 angular 13 应用 |
@angular/cli 13.* (比如 13.3.2 ) 创建 angular 13 版本的项目
angular 脚手架的版本迭代历史 |
熟悉脚手架生成的目录和命令 |
• src/app
• src/environments
• ng serve 本地启动服务和参数
• ng build 构建和打包之后的文件介绍 |
v13 版本的核心变化 |
• rxjs 升级到 7
• 构建工具默认使用持久构建缓存
• 移除 IE11 铺平道路
• 新 API 移除了将 ComponentFactoryResolver 注入到构造函数的需要
• Angular Package Format (APF) 的更改
• View Engine 在 Angular 中将不再可用 |
Typescript 实战必备语法 |
• class
• private
• public
• Partial
• tsconfig 的配置
• tslint 的项目配置和代码规范 |
预编译样式 |
选择 less 作为主要预编译的原因以及对比 Sass 等
|
angular 实战核心模块 |
• 围绕核心模块进行组件化开发
1.@angular/core
2.@angular/router
3. @angular/forms
4.@angular/common
5.@angular/compiler
6.rxjs
7.zone.js
• angular 基础文件:
angular.json
main.ts
app.component.ts
index.html
• 案例所需指令详解:
ngIf
(ngSubmit)
[ngClass]
[disabled]
[innerHTML]
• 案例涉及路由 @angular/router 详解 :
routerLink
navigate
• 案例涉及与后端服务通信 @angular/common/http :
HttpClient 等
services 目录的拆分
post 与 get 的区分
结合 localStorage 进行用户登录信息的本地缓存
• 案例涉及到 @angular/forms 详解
ReactiveFormsModule
FormBuilder
FormGroup
Validators
• 基于 karma 对案例项目进行自动化测试:
karma.conf.js 的配置详解
karma 的依赖配置: karma-coverage-istanbul-reporter 、 karma-jasmine-html-reporter 等
• rxjs 的案例深度应用
rxjs/operators
Subscription
Observable
of
throwError |
开源组件库使用 |
• ng-zorro-antd 部分表单组件使用案例
• element 部分表单组件使用案例
• 组件必备知识详解 |
调试 & 自动化测试 & 性能工具 |
• 基于 protractor 自动化测试实战:
• 性能检测:基于 lighthouse 评分进行优化
• angular 工具使用: chrome 扩展 DevTools 实战必备使用案例解析 |
错误日志监听 |
整体基于 sentry 搭建错误日志上报的实时平台 |
案例实战 |
• 完成一个登陆、注册的表单
• electron + angular 13 |