react native项目配置eslint+prettier
📅 2026/7/18 22:51:06
👁️ 次浏览
一、创建react native项目pnpm create expo-app --template defaultsdk-57具体参见Expo官网二、安装prettier和eslint相关依赖安装prettier相关依赖pnpm add prettier eslint-config-prettier eslint-plugin-prettier ianvs/prettier-plugin-sort-imports prettier-plugin-sort-json eslint-plugin-unused-imports prettier-plugin-tailwindcss -D安装eslint相关依赖pnpm add -D eslint eslint-config-expo包作用eslint检查代码问题eslint-config-expoExpo/RN/TS 官方规则集prettier格式化eslint-config-prettier关掉和 Prettier 冲突的 ESLint 规则eslint-plugin-prettier把 Prettier 问题当 ESLint 报错可选你用了 NativeWind/Tailwindpnpm add -D prettier-plugin-tailwindcss三、配置文件1、eslint.config.js项目根目录Flat Config// https://docs.expo.dev/guides/using-eslint/ const { defineConfig } require(eslint/config); const expoConfig require(eslint-config-expo/flat); const prettierConfig require(eslint-config-prettier); const eslintPluginPrettierRecommended require(eslint-plugin-prettier/recommended); const unusedImports require(eslint-plugin-unused-imports); const prettierOptions require(./prettier.config.js); module.exports defineConfig([ expoConfig, prettierConfig, eslintPluginPrettierRecommended, { plugins: { unused-imports: unusedImports, }, rules: { typescript-eslint/no-unused-vars: off, no-unused-vars: off, unused-imports/no-unused-imports: error, unused-imports/no-unused-vars: [ warn, { vars: all, varsIgnorePattern: ^_, args: after-used, argsIgnorePattern: ^_, }, ], // 显式传入同一份 Prettier 配置避免编辑器缓存旧 .prettierrc 导致排序打架 prettier/prettier: [error, prettierOptions], }, }, { ignores: [dist/*, android/*, ios/*, .expo/*], }, ]);2、创建prettier.config.js选用json文件若装了 prettier-plugin-tailwindcss/** type {import(prettier).Config} */ module.exports { semi: true, singleQuote: true, trailingComma: all, printWidth: 100, tabWidth: 2, endOfLine: lf, singleAttributePerLine: true, // require.resolve: ESLint / pnpm 下也能稳定加载插件 plugins: [ require.resolve(ianvs/prettier-plugin-sort-imports), require.resolve(prettier-plugin-sort-json), require.resolve(prettier-plugin-tailwindcss), ], importOrder: [ ^(react/(.*)$)|^(react$), ^(expo(.*)$)|^(expo$), THIRD_PARTY_MODULES, , ^/(.*)$, ^[./], ], importOrderParserPlugins: [typescript, jsx], importOrderTypeScriptVersion: 5.0.0, };3、 prettier忽略文件 .prettierignorenode_modules dist android ios .expo pnpm-lock.yaml *.lock可选.eslintignore 在 Flat Config 下一般用 ignores 即可可不单独建。注释完成以上配置以后有时候会出现代码不规范编辑器不爆出红色的现象。这不是编辑器设置的问题是 ESLint 本身崩了所以红线出不来。根本原因项目装的是 ESLint 10.7.0而eslint-config-expo依赖的eslint-plugin-react还不支持 ESLint 10解决办法 把 ESLint 钉在 9.xeslint-config-expo开发用的也是^9.18.0pnpm add -D eslint^9我目前安装的eslint是^9.39.5四、文件清单小结文件是否需要eslint.config.js✅ 需要.prettierignore✅ 需要.prettierrc✅ 建议有.eslintrc.js❌ SDK 57 用 Flat不必再加五、最快上手npx expo lint npx expo install --dev prettier eslint-config-prettier eslint-plugin-prettier然后按上面写好 eslint.config.js 和 .prettierrc再跑bashpnpm lint
编译脚本 build_windows_x86.bat
echo off:: 初始化 VS2017 x86 编译环境
call "%VS2017%\vcvars32.bat"
if errorlevel 1 (echo [ERROR] 无法初始化 VS2017 编译环境,请检查安装路径pauseexit /b 1
):: 5. 编译测试程序 (必须 /MD ENABLE_DEEP_PLC/DRE…
📅 2026/7/18 22:51:06
最近装修群里又炸锅了,一位业主吐槽:入住新家才一年,夏天开空调电费飙到800多,冬天开暖气还是透风,窗户边沿墙面甚至开始发霉。他花了2万多装了所谓的“品牌门窗”,结果不仅没省心,反而折腾出这…
📅 2026/7/18 22:51:06
文章目录前言为什么需要动画animateTo 基本用法5 个实战动画1. 缩放动画——按钮点击反馈2. 旋转动画——刷新指示器3. 渐变动画——淡入淡出4. 位移动画——滑入卡片5. 组合动画——点赞特效动画曲线对比性能提示写在最后前言
你有没有这种感觉——写出来的 App 功能都有&…
📅 2026/7/18 22:51:06
最近不少开发者在讨论 Grok4.5,尤其是“代码补全到底能不能打”这个问题。对于平时要写接口、修 Bug、补文档的程序员来说,模型好不好,不看宣传,看实测更直接。本文就从开发者视角出发,结合真实编码任务聊聊 Grok4.5 的…
📅 2026/7/19 0:40:15
CPU 缓存友好编程:从数据布局到访问模式的性能影响实测
一、同样的 O(n) 算法,为什么一个比另一个快 5 倍
一道在二维数组上做遍历的算法题,两个人都写出了 O(n*m) 的解法。逻辑一模一样,但一个的运行时间是 12ms,另一…
📅 2026/7/19 0:40:15
分块思想在算法中的工程化:平方分割与莫队算法的实现要诀
一、区间查询问题,线段树不是唯一答案
线段树是处理区间查询的经典数据结构,单次查询 O(log n),功能强大。但它的实现代码量不小——建树、更新、查询,三个递归…
📅 2026/7/19 0:40:15
AI 工具的用户反馈闭环:从隐性信号到模型优化
一、用户反馈不只是「好评」和「差评」
独立产品的用户反馈,传统形式是评分(1-5星)或评论。对于 AI 工具,这些显式反馈(用户主动给出的评价)有价值,但其覆盖率通常不到 1%——绝大多数用户不会主动评价。如果只依赖显…
📅 2026/7/19 0:40:15
AI 任务的优先级调度:不同用户、不同任务的资源分配
一、当 AI 调用开始排队
产品在成长期,AI 调用量不再是「即来即处理」。在高并发时刻(如工作时间、产品推广期),AI API 的请求可能会出现排队——用户的请求发出了,但需要等待前面的请求处理完才能轮到。
如果所有…
📅 2026/7/19 0:40:15
很多人买回去发现根本转不动,或者声音大得像拖拉机,这篇文直接告诉你怎么调试才能静音且高效。不管你是新手小白还是想优化现有流程,看完这几点,至少能省下几百块维修费,还能让设备多活两年。先说个真事。我有个朋友老张,上个月刚入手了一台GEO 1022N。他是个急性子,拿到…
📅 2026/7/19 0:39:34
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/19 0:00:51
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/19 0:00:51
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/19 0:00:51
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/19 0:00:51
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/19 0:00:51
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/19 0:00:51
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/18 7:01:02
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/18 17:01:33
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/18 5:00:56