当前位置: 首页 > news >正文

electron typescript运行并设置eslint检测

目录

一、初始化package.json

二、安装依赖

1、安装electron

2、安装typescript依赖

3、安装eslint

三、项目结构

四、配置启动项


 

一、初始化package.json

我的:这里的"main"没太大影响,看后面的步骤。

{"name": "xloda-cloud-ui-pc","author": "Dragon Wu","description": "XLODA龙达云PC前端","version": "0.1.0","private": true,"main": "src/main.ts","scripts": {"start": "tsc && electron ./.electron/main.js","lint": "eslint ./src"},"devDependencies": {"@eslint/js": "^9.19.0","@types/node": "^22.12.0","electron": "^33.3.1","eslint": "^9.19.0","globals": "^15.14.0","typescript": "^5.7.3","typescript-eslint": "^8.22.0"},"dependencies": {}
}

二、安装依赖

1、安装electron

yarn add electron -D

2、安装typescript依赖

yarn add @types/node typescript -D

3、安装eslint

yarn create @eslint/config

官方文档:ESLint 入门 - ESLint - 可插拔 JavaScript Linter

三、项目结构

electron使用typescript运行的宗旨就是让electron运行main.ts通过typescript转编译后的js文件,因为electron只能直接运行js文件:

main.ts:

/*** @author Dragon Wu* @since 2025/1/12 20:18*/
import {app, BrowserWindow} from "electron";// 禁用启动的警告
process.env["ELECTRON_DISABLE_SECURITY_WARNINGS"] = "true";// 内嵌app的链接
const APP_URL = "http://localhost:3000";app.on("ready", () => {const mainWindow = new BrowserWindow({width: 1200,height: 800})mainWindow.loadURL(APP_URL).then()
});

四、配置启动项

使用main.js作为入口文件时,我们只要找到main.js路径配置到package.json的“main”位置就行了,但直接改.ts肯定会报错,所以我们需要让electron找到main.ts编译后转的.js文件的位置。

这里我们需要修改tsconfig.json如下:

{"compilerOptions": {"module": "commonjs","target": "es2018","noImplicitAny": true,"sourceMap": true,"outDir": "./.electron",  # ts 编译转为 js 后的目录位置"baseUrl": ".","paths": {"@/*": ["./src/*"]}},"include": ["**/*.ts","**/*.tsx"],"exclude": ["node_modules"]
}

终端运行:你会看到项目的ts文件被转为js文件存到了“outDir”指向的文件夹里(这里是".electron")

tsc

由此,可以在启动项做文章:

  "scripts": {"start": "tsc && electron ./.electron/main.js",},

终端运行:可以看到electron程序正常启动了。

yarn run start

五、配置eslint

安装官网的配置方法,项目根目录会产生一个eslint.config.mjs文件,这个文件可以配置自定义rules,案例如下:

import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";/** @type {import('eslint').Linter.Config[]} */
export default [{files: ["**/*.{js,mjs,cjs,ts}"]},{languageOptions: {globals: globals.node}},pluginJs.configs.recommended,...tseslint.configs.recommended,{rules: {"import/first": "off","import/order": "off",}}
];

配置运行脚本:

 "scripts": {"lint": "eslint ./src"},

这里elint会检测 ./src下的ts文件的书写规范,若你有更多文件夹需要检测可以按照这种格式来:

eslint ./src ./example ./xxx

终端运行:

yarn run lint

即可进行eslint纠正检测。

亲测有效!

 

相关文章:

electron typescript运行并设置eslint检测

目录 一、初始化package.json 二、安装依赖 1、安装electron 2、安装typescript依赖 3、安装eslint 三、项目结构 四、配置启动项 一、初始化package.json 我的:这里的"main"没太大影响,看后面的步骤。 {"name": "xlo…...

服务器上安装Nginx详细步骤

第一步:上传nginx压缩包到指定目录。 第二步:解压nginx压缩包。 第三步:配置编译nginx 配置编译方法: ./configure 配置编译后结果信息: 第四步:编译nginx 在nginx源文件目录中直接运行make命令 第五步&…...

Timeout or no response waiting for NATS JetStream server

当使用jetStream 出现"Timeout or no response waiting for NATS JetStream server" 错误的时候要注意后面的“no response”,尤其是开发测试,要去check server 是否启动了 jet stream。 [20112] 2025/01/24 08:27:42.738396 [INF] _ ___…...

5.2 软件需求分析

文章目录 需求分析的意义软件需求的组成需求分析的5个方面需求分析方法 需求分析的意义 需求分析解决软件“做什么”的问题。由于开发人员比较熟悉计算机而不熟悉领域业务,用户比较熟悉领域业务而不熟悉计算机,双方需要通过交流,制定出完整、…...

DF 开发1

https://www.bilibili.com/video/BV1RFChYxEhJ/ 多个 workspace 图片上传 S3 上传大量文档 https://www.bilibili.com/video/BV1ySsEeUE6i 解决方案 返回 metadata https://www.bilibili.com/video/BV1t3e5eaENo 给出内容引用出处 模型负载均衡 可以以 ollama 在不同端口起服…...

【现代深度学习技术】深度学习计算 | 参数管理

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...

团体程序设计天梯赛-练习集——L1-024 后天

前言 首先祝大家新年快乐,然后博主今点炮让炮崩了一下,水一天 这道题5分非常简单,有不少的做法 L1-024 后天 如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期…...

JVM栈溢出线上环境排查

#查看当前Linux系统进程ID、线程ID、CPU占用率(-eo后面跟想要展示的列) ps H -eo pid,tid,%cpups H -eo pid,tid,%cpu |grep tid #使用java jstack 查看进程id下所有线程id的情况 jstack pid 案例2 通过jstack 排查死锁问题 #启动java代码 jstack 进…...

Java实现FIFO缓存策略实战

实现FIFO模型选择FIFO模型实现过程FIFO模型完整代码下面看一下先进先出的示例过程总结FIFO(First In First Out,先进先出)策略是一种基本的数据处理和存储管理方法,在Java中,这种策略通常用于管理那些需要按照顺序处理的数据项,比如任务的队列、数据的传输缓冲区等。在Ja…...

set集合

set集合 Set系列集合: 无序:存取顺序不一致 不重复:可以去除重复 无索引:没有带索引的方法,所以不能使用普通for循环遍历,也不能通过索引来获取元素 可以看出set是无序的存和打印的顺序不一样 Set接中的…...

【数据结构】 并查集 + 路径压缩与按秩合并 python

目录 前言模板朴素实现路径压缩按秩合并按树高为秩按节点数为秩 总结 前言 并查集的基本实现通常使用森林来表示不同的集合,每个集合用一棵树表示,树的每个节点有一个指向其父节点的指针。 如果一个节点是它自己的父节点,那么它就是该集合的代…...

无耳科技 Solon v3.0.7 发布(2025农历新年版)

Solon 框架! Solon 框架由杭州无耳科技有限公司(下属 Noear 团队)开发并开源。是新一代,面向全场景的 Java 企业级应用开发框架。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。…...

UART、I2C和SPI对比

UARTSPII2C英文Universal Asynchronous Receive/TransmitSerial Peripheral InterfaceInner Integrated Communication通讯速度115200、38400 bit/s高达100M bit/s 100k、400k、1M、3.4M bit/s时钟同/异步性时钟异步时钟同步时钟同步接线方式3线(Rx、Tx、GND) 4线(MISO、…...

Vue 响应式渲染 - 待办事项简单实现

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 响应式渲染 - 待办事项简单实现 目录 待办事项简单实现 页面初始化 双向绑定的指令 增加留言列表设置 增加删除按钮 最后优化 总结 待办事项简单实现 页面初始化 对页面进行vue的引入、创建输入框和按钮及实例化V…...

ResNeSt: Split-Attention Networks论文学习笔记

这张图展示了一个名为“Split-Attention”的神经网络结构,该结构在一个基数组(cardinal group)内进行操作。基数组通常指的是在神经网络中处理的一组特征或通道。图中展示了如何通过一系列操作来实现对输入特征的注意力机制。 以下是图中各部…...

澳洲硕士毕业论文写作中如何把握主题

每到毕业季时,澳洲硕士毕业论文写作是留学生学业的头等大事。但是经常有留学生在澳洲毕业论文写作过程中会遇到写了一半,但是不知道应该如何继续下去的问题。有时候是在literature review的部分就越写越觉得偏离了方向,有时候是在数据收集阶段…...

STM32 LED呼吸灯

接线图: 这里将正极接到PA0引脚上,负极接到GND,这样就高电平点亮LED,低电平熄灭。 占空比越大,LED越亮,占空比越小,LED越暗 PWM初始化配置 输出比较函数介绍: 用这四个函数配置输…...

Java数据库操作指南:快速上手JDBC【学术会议-2025年数字化教育与信息技术(DEIT 2025】

大会官网:www.ic-deit.org 前言 在现代企业应用中,数据库是数据存储和管理的重要组成部分。Java作为一种广泛使用的编程语言,提供了多种方式与数据库进行交互。本文将介绍 JDBC(Java Database Connectivity)&#x…...

2024年个人总结

序 照例,每年都有的个人年度总结来了,看了很多其他大佬的总结,感觉自己的2024过于单薄,故事也不太丰满,自己就回去比较,自己哪里做的不好 ?但后来发现已经进入了一个思维误区。 年度总结年度总结…...

GitHub 仓库的 Archived 功能详解:中英双语

GitHub 仓库的 Archived 功能详解 一、什么是 GitHub 仓库的 “Archived” 功能? 在 GitHub 上,“Archived” 是一个专门用于标记仓库状态的功能。当仓库被归档后,它变为只读模式,所有的功能如提交代码、创建 issue 和 pull req…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...