0%
NestJS 核心技术
发表于
分类于
Nest
NestJS 介绍
发表于
分类于
Nest
开发脚手架
发表于
分类于
Node
CommonJS 与 ESM
发表于
分类于
Node
概念
ECMAScript 模块(ESM)和 CommonJS 是两种不同的模块系统,它们分别用于定义如何在 JavaScript 中组织代码、导入和导出模块。
CommonJS
背景
- 同步加载:CommonJS 模块是在运行时同步加载的,这意味着模块的依赖关系需要在模块执行前完全解析
- 导入导出:使用
require
导入,module.exports
或exports
导出,exports
是对module.exports
的引用,区别在于不能exports =
,只能module.exports =
- 全局变量:在每个模块中,默认提供了一些全局变量,如
__dirname
和__filename
,表示当前模块所在的目录和文件名ECMAScript 模块(ESM)
背景
- ESM 是由 ECMAScript 标准定义的模块系统,旨在为浏览器和服务器端 JavaScript 提供统一的模块化方案
- 它从 ES6(ES2015)开始引入,并逐渐被现代 JavaScript 运行环境支持
特点
- 异步加载:ESM 支持异步加载模块,这对于浏览器环境尤为重要,因为它允许模块按需加载,提高性能
- 导入导出:使用
import
导入,export
导出 - 全局变量:
import.meta
提供有关当前模块的元数据,如模块的 URL
Electron其它功能合集
发表于
分类于
Electron
自定义菜单
Electron 所有类型的菜单都是基于 Menu 类和 MenuItem 类实现的。
Menu 接口说明。
MenuItem 接口说明。
如果是要构建静态菜单,可使用 Menu.buildFromTemplate()
方法,根据模板构建菜单。其参数是一个 MenuItemConstructorOptions 类型的数组,使用这种方式更加方便快捷。
Electron进程间通信
发表于
分类于
Electron
Electron
Electron 继承了 Chromium 的多进程架构,主要包括主进程和渲染进程。
每个 Electron 应用都有一个单一的主进程作为应用程序的入口点。主进程在 Node.js 环境中运行,这意味着它具有 require 模块和使用所有 Node.js API 的能力。
主进程可以通过 Electron 的 app 模块来控制应用程序的生命周期,此外,应用程序的菜单、对话框、托盘图标等与操作系统相关的操作都由主进程控制。
主进程使用 BrowserWindow 模块创建和管理应用程序窗口,每个窗口都在一个单独的渲染进程中运行。
运行于渲染进程中的代码必须遵照 Web 标准,这也意味着渲染进程无权直接访问 Node.js API,但可以通过预加载脚本解决这一问题。
vue 命令式组件
发表于
命令式组件是指组件的创建、props 的传递、emits 方法的执行都通过一个函数来完成。
常见的命令式组件有 ELMessage、ElMessageBox、ElNotification 等。