微信小程序配置prettier+eslint

        虽然微信开发者工具是基于vscode魔改的.但是由于版本过低,导致很多插件也用不上新版本.所以在微信开发者工具限制的版本下使用的prettier,eslint也是有版本要求.

        本文主要就是记录一下需要的版本号

1.微信开发者工具安装插件

2.package.json中添加以下依赖及安装依赖

  "devDependencies": {"@babel/core": "^7.16.7","@babel/eslint-parser": "^7.16.5","eslint": "^7.28.0","eslint-config-airbnb-base": "15.0.0","eslint-config-prettier": "^9.1.0","eslint-plugin-import": "^2.29.1","eslint-plugin-node": "^11.1.0","eslint-plugin-prettier": "^4.1.3","eslint-plugin-promise": "^6.2.0","prettier": "^2.5.1"}

安装依赖 npm install 就不详细说明.

3.根目录下创建.eslintrc,.prettierrc

.eslintrc.js

module.exports = {root: true,env: {es6: true,browser: true,node: true,},extends: ['airbnb-base', 'plugin:import/recommended', 'plugin:import/errors', 'plugin:import/warnings', 'prettier'],plugins: ['import', 'prettier'],parser: '@babel/eslint-parser',parserOptions: {requireConfigFile: false,ecmaVersion: 2018,sourceType: 'module',ecmaFeatures: {// lambda表达式arrowFunctions: true,// 解构赋值destructuring: true,// classclasses: true,},},globals: {wx: true,App: true,Page: true,getCurrentPages: true,getApp: true,Component: true,requirePlugin: true,requireMiniProgram: true,},rules: {'prettier/prettier': 'warn','no-undef': 'off','camelcase': ['warn', { ignoreDestructuring: true }],'class-name-casing': 'off','no-console': ['warn', { allow: ['warn', 'error'] }],'no-debugger': 'error','no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }],'no-empty-interface': 'off','no-use-before-define': ['error', { functions: false }],'no-useless-constructor': 'error','prefer-const': 'error','prefer-destructuring': ['error',{AssignmentExpression: {array: false,object: false,},VariableDeclarator: {array: false,object: true,},},{enforceForRenamedProperties: false,},],'no-const-assign': 'error','no-new-object': 'error','no-prototype-builtins': 'error','no-array-constructor': 'error','array-callback-return': 'warn','prefer-template': 'error','no-useless-escape': 'error','wrap-iife': ['error', 'outside'],'space-before-function-paren': ['warn',{anonymous: 'always',named: 'never',asyncArrow: 'always',},],'no-param-reassign': ['warn',{props: true,ignorePropertyModificationsFor: ['acc', // for reduce accumulators'accumulator', // for reduce accumulators'e', // for e.returnvalue'ctx', // for Koa routing'req', // for Express requests'request', // for Express requests'res', // for Express responses'response', // for Express responses'$scope', // for Angular 1 scopes'staticContext', // for ReactRouter context'state', // for Vuex],},],'no-confusing-arrow': 'warn','no-dupe-class-members': 'error','no-iterator': 'warn','dot-notation': 'warn','one-var': ['warn', 'never'],'no-multi-assign': 'error','no-unused-vars': ['warn',{args: 'after-used',ignoreRestSiblings: true,argsIgnorePattern: '^_.+',varsIgnorePattern: '^_.+',},],eqeqeq: ['warn', 'always'],'no-case-declarations': 'error','no-nested-ternary': 'warn','no-unneeded-ternary': 'warn','no-mixed-operators': ['error',{groups: [['%', '**'],['%', '+'],['%', '-'],['%', '*'],['%', '/'],['&', '|', '<<', '>>', '>>>'],['==', '!=', '===', '!=='],['&&', '||'],],allowSamePrecedence: false,},],'no-else-return': ['warn',{allowElseIf: false,},],'no-new-wrappers': 'warn',indent: ['warn',2,{SwitchCase: 1,VariableDeclarator: 1,outerIIFEBody: 1,FunctionDeclaration: {parameters: 1,body: 1,},FunctionExpression: {parameters: 1,body: 1,},CallExpression: {arguments: 1,},ArrayExpression: 1,ObjectExpression: 1,ImportDeclaration: 1,flatTernaryExpressions: false,ignoreComments: false,},],'linebreak-style': ['warn', 'unix'],'import/extensions': 'off','import/no-unresolved': 'off','no-plusplus': 'off',},
}

.prettierrc.yml

这里用的yml格式,用js格式一样可以,需要修改一下内容格式

# 一行最多 100 字符
printWidth: 120
# 使用 2 个空格缩进
tabWidth: 2
# 不使用缩进符,而使用空格
useTabs: false
# 行尾需要分号
semi: false
# 使用单引号
singleQuote: true
# 对象的 key 仅在必要时用引号
quoteProps: as-needed
# jsx 不使用单引号,而使用双引号
jsxSingleQuote: false
# 末尾需要逗号
trailingComma: all
# 大括号内的首尾需要空格
bracketSpacing: true
# jsx 标签的反尖括号需要换行
jsxBracketSameLine: false
# 箭头函数,只有一个参数的时候,不需要括号
arrowParens: always
# 每个文件格式化的范围是文件的全部内容
rangeStart: 0
# 不需要写文件开头的 @prettier
requirePragma: false
# 不需要自动在文件开头插入 @prettier
insertPragma: false
# 使用默认的折行标准
proseWrap: preserve
# 根据显示样式决定 html 要不要折行
htmlWhitespaceSensitivity: css
# 换行符使用 lf
endOfLine: lf
# 后缀文件名特有规则
overrides:- files: '*.{wxss,scss}'options:parser: scss- files: '*.json,.*rc'options:parser: json- files: '*.{wxml,html}'options:parser: htmlhtmlWhitespaceSensitivity: strict- files: '*.wxs'options:parser: babel
# 是否格式化一些文件中被嵌入的代码片段的风格,如果插件可以识别。
embeddedLanguageFormatting: auto
# 在Html,Vue,JSX中是否强制每条属性占用一行。
singleAttributePerLine: false

4.微信开发工具设置prettire支持的文件格式

打开setting.json

添加或修改以下内容

    "prettier.documentSelectors": ["**/*.wxml ","**/*.wxss"," **/*.wxs"],"[wxml]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[scss]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[html]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[css]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[json]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[javascript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1547407.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

STM32通过HAL库编码方式,在烧写一次程序后,单片机在仿真器上识别不到

在将项目从裸机移植到rtt过程中&#xff0c;总体调试跑不通ADC&#xff0c;进行了单独调试&#xff0c;新程序烧写进单片机后&#xff0c;仿真器再也识别不到单片机。一遍遍检查后发现HAL库没有配置完全。 SYS需要设置成 Serial Wire&#xff0c;忘记设置就成了No Debug,写这么…

2023_Spark_实验十一:RDD基础算子操作

一、RDD的练习可以使用两种方式 使用Shell使用IDEA 二、使用Shell练习RDD 当你打开 Spark 的交互式命令行界面&#xff08;也就是 Spark shell&#xff09;的时候&#xff0c;它已经自动为你准备好了一个叫做 sc 的特殊对象&#xff0c;这个对象是用来和 Spark 集群沟通的。你…

【高频SQL基础50题】1-5

目录 1.可回收且低脂的产品 2. 使用唯一标识码替换员工ID 3.有趣的电影 4.每位教师所教授的科目种类的数量 5.每位经理的下属员工数量 1.可回收且低脂的产品 查询题。 # Write your MySQL query statement below SELECT product_id FROM Products WHERE low_fats"…

Seagull远程获取通讯录APP/相册/短信/双端/全开源海外版本

Seagull海外版远程获取工具&#xff0c;全开源&#xff0c;企业管理&#xff0c;内部采集等应用市场&#xff0c;请勿违法使用&#xff0c;禁止任何商业用途&#xff0c;仅供学习研究。 PHP版本&#xff1a;7.4 伪静态&#xff1a;TP 目录&#xff1a;public 后台&#xff…

C--结构体和位段的使用方法

各位看官如果您觉得这篇文章对您有帮助的话 欢迎您分享给更多人哦 感谢大家的点赞收藏评论&#xff0c;感谢您的支持&#xff01;&#xff01;&#xff01; 一&#xff1a;结构体 首先结构体我们有一个非常重要的规则 非常重要&#xff1a; 我们允许在初始化时自动将字符串字面…

JUC高并发编程3:线程间通信

1 线程间通信 线程间通信的模型有两种&#xff1a;共享内存和消息传递&#xff0c;以下方式都是基本这两种模型来实现的。我们来基本一道面试常见的题目来分析 场景&#xff1a;两个线程&#xff0c;一个线程对当前数值加 1&#xff0c;另一个线程对当前数值减 1,要求用线程间…

使用离火插件yoloV8数据标注,模型训练

1. 启动 2.相关配置 2.1 data.yaml path: D:/yolo-tool/yaunshen-yolov8/YOLOv8ys/YOLOv8-CUDA10.2/1/datasets/ceshi001 train: images val: images names: [蔡徐坤,篮球] 2.2 cfg.yaml # Ultralytics YOLOv8, GPL-3.0 license # Default training settings and hyp…

为什么你应该将你的营销材料本地化为俄语:释放新的机会

在当今高度互联的世界中&#xff0c;企业不断寻求新市场以扩大其全球足迹。一个经常被忽视但充满未开发潜力的市场是俄罗斯。全球有超过2.6亿俄语使用者&#xff0c;将您的营销材料翻译成俄语并本地化不仅是一个明智之举&#xff0c;也是迈向强大经济集团和获得竞争优势的重要一…

Docker安装nacos最新版本(图文教程)

Nacos(Naming And Configuration Service)是阿里巴巴开源的一个动态服务发现、配置管理和服务管理平台。Nacos 提供了一套简单易用的服务发现、配置管理、动态 DNS 服务以及服务健康检查的解决方案,广泛应用于微服务架构中。 一、拉取镜像 docker pull nacos/nacos-server:…

@Lazy注解原理

目录 Lazy作用在类上Lazy注解作用在字段上Lazy注解标记的字段或方法中的参数何时触发加载AOP代理中的TargetSource对象为什么使用了 Lazy 之后&#xff0c;就能解决循环依赖问题&#xff0c;正常启动了呢&#xff1f;案例Resource对Lazy注入的处理 参考&#xff1a; https://b…

微服务——服务保护(Sentinel)(一)

1.雪崩问题 级联失败或雪崩问题指的是在微服务架构中&#xff0c;由于服务间的相互依赖和调用&#xff0c;当一个服务出现故障时&#xff0c;会引起调用它的服务也出现故障&#xff0c;进而引发整个调用链路的多个服务都出现故障&#xff0c;最终导致整个系统崩溃的现象。 产生…

【笔记】Dynamic Taint Analysis 动态污点分析

Dynamic Taint Analysis 动态污点分析 什么是动态污点分析&#xff1f;为什么要搞动态污点分析&#xff1f; “污点”指的是什么&#xff1f; DTA中的“污点”指代的是不可信的输入&#xff0c;比如用户输入、网络请求、文件数据等。比方说&#xff0c;如果把程序看作一个城市&…

使用 Visily.ai 进行应用界面设计

在现代应用开发中&#xff0c;快速创建高保真线框图和原型是一个巨大的优势。Visily.ai 是一个利用人工智能帮助你实现这一目标的在线工具。本文将介绍如何使用 Visily.ai 进行应用界面设计。 什么是 Visily.ai&#xff1f; Visily.ai 是一个 AI 驱动的 UI 设计工具&#xff…

嵌入式硬件工程师与嵌入式软件工程师的区别(详细版)

嵌入式硬件工程师与嵌入式软件工程师的区别&#xff08;详细版&#xff09; 这里写目录标题 嵌入式硬件工程师与嵌入式软件工程师的区别&#xff08;详细版&#xff09;什么是嵌入式硬件工程师&#xff1f;什么是嵌入式软件工程师&#xff1f;嵌入式硬件工程师与嵌入式软件工程…

css 下拉框展示:当hover的时候展示下拉框 z-index的用法解释

代码如下&#xff1a; <template><div class"outer"><div class"left"></div><div class"aTest2"><div class"box">显示方框</div><div class"aTest3"></div></…

【SQL】指定时间段的下单产品

目录 语法 需求 示例 分析 代码 语法 SUM(column_name) SUM 是一个聚合函数&#xff08;Aggregate Function&#xff09;&#xff0c;用于计算数字列中值的总和。当你需要对表中的某一列数值进行求和时&#xff0c;SUM 函数就显得非常有用。它通常与 GROUP BY 语句一起使用…

运算符两边的数据类型

6-3 类型转换 1.非赋值运算的类型转换 &#xff08;1&#xff09;水平方向的转换&#xff1a;所有的char型和short型自动地转换成int 型&#xff0c;所有的unsigned short 型自动地转换成unsigned型&#xff0c;所有的long型自动地转换成unsigned long 型&#xff0c;所有的f…

exBase

1.准备工作 1.端口配置 下列为默认端口号&#xff0c;若部分端口号已被占用&#xff0c;用户可以根据实际情况进行修改。 端口号 说明 31030 exBase默认端口 31003 配置库默认端口 2181 zookeeper默认端口 9092 kafka默认端口 8091 metaNode的RPC端口 8092 node…

毕业论文写作全攻略,让你轻松过关!

姐妹们&#xff0c;毕业论文是大学旅程的最后一站&#xff0c;也是展示我们学术成果的重要时刻。但是&#xff0c;毕业论文该怎么写呢&#xff1f;别担心&#xff0c;我来告诉你&#xff01;&#x1f4da; writehelp智能写作辅导&#xff1a;http://www.writehelp.vip/?sid17…

线性基学习DAY2

今天是第二题学习线性基&#xff0c;让我对线性基的认识更多了&#xff0c;线性基其实就是去处理整个区间异或最值问题的 我们来看一下昨天的一道题 P4570 [BJWC2011] 元素 昨天其实这题我尝试了两次&#xff0c;一种是普通消元去求解&#xff0c;另一种是高斯消元去求解&…