当前位置: 首页 > 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纠正检测。

亲测有效!

 

http://www.lryc.cn/news/528144.html

相关文章:

  • 服务器上安装Nginx详细步骤
  • Timeout or no response waiting for NATS JetStream server
  • 5.2 软件需求分析
  • DF 开发1
  • 【现代深度学习技术】深度学习计算 | 参数管理
  • 团体程序设计天梯赛-练习集——L1-024 后天
  • JVM栈溢出线上环境排查
  • Java实现FIFO缓存策略实战
  • set集合
  • 【数据结构】 并查集 + 路径压缩与按秩合并 python
  • 无耳科技 Solon v3.0.7 发布(2025农历新年版)
  • UART、I2C和SPI对比
  • Vue 响应式渲染 - 待办事项简单实现
  • ResNeSt: Split-Attention Networks论文学习笔记
  • 澳洲硕士毕业论文写作中如何把握主题
  • STM32 LED呼吸灯
  • Java数据库操作指南:快速上手JDBC【学术会议-2025年数字化教育与信息技术(DEIT 2025】
  • 2024年个人总结
  • GitHub 仓库的 Archived 功能详解:中英双语
  • LeetCode:56.合并区间
  • Vue演练场基础知识(七)插槽
  • 进程池的制作(linux进程间通信,匿名管道... ...)
  • 【Linux】Linux C比较两个 IPv6 网关地址是否相等,包括前缀
  • 【uniapp】uniapp使用java线程池
  • 面试题-Java集合框架
  • Java基础教程(007):方法的重载与方法的练习
  • 【ESP32】ESP-IDF开发 | WiFi开发 | TCP传输控制协议 + TCP服务器和客户端例程
  • npm cnpm pnpm npx yarn的区别
  • debian12.9编译freeswitch1.10.12【默认安装】
  • 使用 C/C++ 调用 libcurl 调试消息