vue3 + vite + js 配置Eslint + prettier_vite+js+vue3配置eslint

plugins: [
‘vue’
],
rules: {
}
}


##### 第三步 安装 vite-plugin-eslint

// 该包是用于配置vite运行的时候自动检测eslint规范,不符合页面会报错
pnpm add vite-plugin-eslint@latest -D
// 安装最新版eslint-plugin-vue
pnpm add eslint-plugin-vue@latest -D


##### 配置 vite.config.js

import { defineConfig } from ‘vite’
import vue from ‘@vitejs/plugin-vue’
import path from ‘path’
import eslint from ‘vite-plugin-eslint’

export default defineConfig({
// 增加eslint的配置项,这样在运行时就能检查eslint规范
// eslint() 或
// eslint({
// 指定需要检查的文件
// include: [‘src/**/*.js’, ‘src/**/*.vue’, ‘src/*.js’, ‘src/*.vue’]
// })
plugins: [vue(), eslint()],
resolve: {
// 指定@别名
alias: {
‘@’: path.resolve(__dirname, ‘src’)
}
},
server: {
port: 3300,
cors: true,
proxy: {}
},
build: {
outDir: path.resolve(__dirname, ‘…/dist’)
}
})


##### 第四步安装 eslint-parser (ESLint解析器)

pnpm add @babel/core -D // 某些代码需要调用 Babel 的 API 进行转码,就要使用@babel/core模块。
pnpm add @babel/eslint-parser@latest -D


##### 第五步 安装prettier (用于规范代码格式)

pnpm add prettier -D
pnpm add prettier-eslint -D
pnpm add eslint-config-prettier -D // eslint兼容的插件
pnpm add eslint-plugin-prettier -D // eslint的prettier


##### 第六步配置prettier在项目根目录创建文件 .prettierrc.cjs

// 以下配置视自己情况而定
module.exports = {
tabWidth: 2, // 使用2个空格缩进
useTabs: false, // 不使用制表缩进,而使用空格
semi: false, // 代码结尾是否加分号
trailingComma: ‘none’, // 代码末尾不需要逗号 参考 https://prettier.io/docs/en/options.html#prose-wrap
singleQuote: true, // 是否使用单引号
printWidth: 120, // 超过多少字符强制换行
arrowParens: ‘avoid’, // 单个参数的箭头函数不加括号 arg => arg
bracketSpacing: true, // 对象大括号内两边是否加空格 { a:0 }
endOfLine: ‘auto’, // 文件换行格式 LF/CRLF
quoteProps: ‘as-needed’, // 对象的key仅在必要时用引号
jsxSingleQuote: false, // jsx不使用单引号,而使用双引号
jsxBracketSameLine: false, // jsx标签的反尖括号需要换行
rangeStart: 0, // 每个文件格式化的范围是文件的全部内容
rangeEnd: Infinity, // 结尾
requirePragma: false, // 不需要写文件开头的 @prettier
insertPragma: false, // 不需要自动在文件开头插入 @prettier
proseWrap: ‘preserve’, // 使用默认的折行标准 参考 https://prettier.io/docs/en/options.html#trailing-commas
htmlWhitespaceSensitivity: ‘css’ // 根据显示样式决定html要不要折行
}


##### 第七步配置配置 .eslintrc.cjs

// 在rules里面简单的一些配置:
// “off” 或 0 - 关闭规则
// “warn” 或 1 - 开启规则,使用警告级别的错误
// “error” 或 2 - 开启规则,使用错误级别的错误
module.exports = {
“env”: {
“browser”: true,
“es2021”: true,
“node”: true
},
“extends”: [
“eslint:recommended”, // 使用推荐的eslint
‘plugin:vue/vue3-recommended’, // 使用插件支持vue3
// 接入 prettier 的规则
‘plugin:prettier/recommended’,
‘eslint-config-prettier’
],
“parserOptions”: {
“ecmaVersion”: 13,
“sourceType”: “module”,
“ecmaFeatures”: {
“modules”: true,
‘jsx’: true
},
“requireConfigFile”: false,
“parser”: ‘@babel/eslint-parser’
},
// eslint-plugin-vue
‘plugins’: [
‘vue’, // 引入vue的插件 vue <> eslint-plugin-vue
‘prettier’ // 引入规范插件 prettier <
> eslint-plugin-prettier
],
‘globals’: {
defineProps: ‘readonly’,
defineEmits: ‘readonly’,
defineExpose: ‘readonly’,
withDefaults: ‘readonly’
},
// 这里时配置规则的,自己看情况配置
// 这里可以进行自定义规则配置
// key:规则代号
// value:具体的限定方式
// “off” or 0 - 关闭规则
// “warn” or 1 - 将规则视为一个警告(不会影响退出码),只警告,不会退出程序
// “error” or 2 - 将规则视为一个错误 (退出码为1),报错并退出程序
rules: {
// 自定义规则 - 其实上面集成后有很多内置的规则, 这里可以进行规则的一些修改
‘no-console’: process.env.NODE_ENV === ‘production’ ? ‘warn’ : ‘off’, // 上线环境用打印就报警告, 开发环境关闭此规则
‘no-debugger’: process.env.NODE_ENV === ‘production’ ? ‘warn’ : ‘off’, // debugger可以终止代码执行
‘vue/multi-word-component-names’: ‘off’, // 自定义组件名称应该由多单词大驼峰命名组成,防止和html标签冲突 — 关闭
‘vue/max-attributes-per-line’: [
2,
// 多个特性的元素应该分多行撰写,每个特性一行
{
singleline: 10,
multiline: {
max: 1
}
}
],
‘vue/prop-name-casing’: [1, ‘camelCase’], // 在声明prop的时候,其命名应该始终使用驼峰命名
‘vue/require-v-for-key’: 1, // 给v-for设置键值,与key结合使用,可以高效的更新虚拟DOM
‘vue/no-use-v-if-with-v-for’: [
2,
{
allowUsingIterationVar: false
}
],
// 不要把 v-if 和 v-for 用在同一个元素上——因为v-for 比 v-if 具有更高的优先级
‘vue/order-in-components’: [
1,
{
// 组件/实例的选项的顺序
order: [
‘el’,
‘name’,
‘parent’,
‘functional’,
[‘delimiters’, ‘comments’],
[‘components’, ‘directives’, ‘filters’],
‘extends’,
‘mixins’,
‘inheritAttrs’,
‘model’,
[‘props’, ‘propsData’],
‘data’,
‘computed’,
‘watch’,
‘LIFECYCLE_HOOKS’,
‘methods’,
[‘template’, ‘render’],
‘renderError’
]
}
],
// //
// /// js.规范 /
// /
‘arrow-spacing’: [
2,
{
// 在箭头函数之前/之后需要空格
before: true,
after: true
}
],
camelcase: [
0,
{
// 需要驼峰命名
properties: ‘always’
}
],
‘comma-dangle’: [0, ‘never’], // 要求或禁止使用尾随逗号;最后一个属性是不需要逗号
‘comma-spacing’: [
2,
{
// 强制逗号旁边的间距: 左右一个空格
before: false,
after: true
}
],
‘comma-style’: [2, ‘last’], // 逗号风格
‘constructor-super’: 2, // 构建方法中使用super方法
curly: [2, ‘multi-line’],
‘dot-location’: [1, ‘property’], // 在dot之前和之后强制换行
‘eol-last’: 2, // 在文件末尾要求或禁止换行
eqeqeq: [1, ‘always’, { null: ‘ignore’ }], // 是否使用全等
indent: [
‘off’,
2,
{
// 强制执行一致的缩进
SwitchCase: 1
}
],
‘jsx-quotes’: [2, ‘prefer-single’], // 强制在JSX文件中一致使用单引号
‘keyword-spacing’: [
2,
{
// 关键字前后强制执行一致的间距
before: true,
after: true
}
],
‘new-cap’: [
2,
{
// 要求构造函数名称以大写字母开头
newIsCap: true,
capIsNew: false
}
],
‘new-parens’: 2, // 调用不带参数的函数时需要括号
‘no-array-constructor’: 2, // 禁止阵列构建器
‘no-class-assign’: 2, // 禁止修改类声明的变量
‘no-cond-assign’: 2, // 在条件语句中禁止赋值运算符
‘no-const-assign’: 2, // 禁止修改使用const声明的变量
‘no-control-regex’: 0, // 禁止正则表达式中的控制字符
‘no-delete-var’: 2, // 禁止删除变量
‘no-dupe-args’: 2, // 在函数定义中禁止重复参数
‘no-dupe-class-members’: 2, // 禁止在类成员中重复名称
‘no-dupe-keys’: 2, // 禁止对象重复声明属性
‘no-duplicate-case’: 2, // 规则禁止重复案例标签
‘no-empty-character-class’: 2, // 禁止在正则表达式中使用空字符类
‘no-empty-pattern’: 2, // 不允许空的解构模式
‘no-eval’: 2, // 禁止使用eval()
‘no-ex-assign’: 2, // 禁止在catch子句中重新分配异常
‘no-extend-native’: 2, // 禁止扩展原生对象
‘no-extra-bind’: 2, // 禁止不必要的功能绑定
‘no-extra-boolean-cast’: 2, // 禁止不必要的布尔类型转换
‘no-extra-parens’: [2, ‘functions’], // 禁止不必要的括号
‘no-func-assign’: 2, // 禁止重新分配函数声明
‘no-implied-eval’: 2,
‘no-inner-declarations’: [2, ‘functions’], // 禁止嵌套块中的变量或函数声明
‘no-invalid-regexp’: 2, // 禁止在RegExp中使用无效的正则表达式字符串
‘no-irregular-whitespace’: 2, // 不允许不规则的空白
‘no-iterator’: 2, // 禁止迭代器
‘no-label-var’: 2, // 禁止变量名称的标签
‘no-labels’: [
2,
{
allowLoop: false,
allowSwitch: false
}
],
‘no-lone-blocks’: 2, // 禁止不必要的嵌套块
‘no-mixed-spaces-and-tabs’: 2, // 禁止使用混合空格和制表符进行缩进
‘no-multi-spaces’: 2, // 禁止多个空格
‘no-multi-str’: 2, // 禁止多行字符串
‘no-multiple-empty-lines’: [
2,
{
// 禁止多个空行
max: 1
}
],
‘no-native-reassign’: 2,
‘no-negated-in-lhs’: 2,
‘no-new-object’: 2,
‘no-new-require’: 2,
‘no-new-symbol’: 2,
‘no-new-wrappers’: 2,
‘no-obj-calls’: 2,
‘no-octal’: 2,
‘no-octal-escape’: 2,
‘no-path-concat’: 2,
‘no-proto’: 2,
‘no-redeclare’: 2,
‘no-regex-spaces’: 2,
‘no-return-assign’: [2, ‘except-parens’],
‘no-self-assign’: 2,
‘no-self-compare’: 2,
‘no-sequences’: 2,
‘no-shadow-restricted-names’: 2,
‘no-spaced-func’: 2,
‘no-sparse-arrays’: 2,
‘no-this-before-super’: 2,
‘no-throw-literal’: 2,
‘no-trailing-spaces’: 2,
‘no-undef’: 0,
‘no-undef-init’: 2,
‘no-unexpected-multiline’: 2,
‘no-unmodified-loop-condition’: 2, // 禁止未修改的循环条件
‘no-unneeded-ternary’: [
2,
{
// 当存在更简单的替代方案时,不允许三元运算符
defaultAssignment: false
}
],
‘no-unreachable’: 2, // 返回,抛出,继续和中断语句后禁止无法访问的代码
‘no-unsafe-finally’: 2, // 禁止finally块中的控制流语句
‘no-unused-vars’: [
1,
{
// 禁止使用未声明的变量
vars: ‘all’,
args: ‘none’
}
],
‘no-useless-call’: 2, // 禁止不必要的call()和apply()方法
‘no-useless-computed-key’: 2, // 禁止在对象上使用不必要的计算属性键
‘no-useless-constructor’: 2, // 禁止不必要的构造方法
‘no-useless-escape’: 0, // 禁止不必要的转义用法
‘no-whitespace-before-property’: 2, // 在属性之前禁止空格
‘no-with’: 2,
‘linebreak-style’: [0, ‘error’, ‘windows’],
‘one-var’: [
2,
{
initialized: ‘never’
}
],
‘operator-linebreak’: [
2,
‘after’,
{
// 为维护强制执行一致的换行方式
overrides: {
‘?’: ‘before’,
‘:’: ‘before’
}
}
],
‘padded-blocks’: [2, ‘never’], // 在块内要求或禁止填充
quotes: [
2,
‘single’,
{
avoidEscape: true,
allowTemplateLiterals: true
}
],
semi: [2, ‘never’],
‘semi-spacing’: [
2,
{
before: false,
after: true
}
],
‘space-before-blocks’: [2, ‘always’], // 不要存在多余的块空间
‘space-in-parens’: [2, ‘never’],
‘space-infix-ops’: 2,
‘space-unary-ops’: [
2,
{
words: true,
nonwords: false
}
],
‘spaced-comment’: [
2,
‘always’,
{
markers: [‘global’, ‘globals’, ‘eslint’, ‘eslint-disable’, ‘*package’, ‘!’, ‘,’]
}
],
‘template-curly-spacing’: [2, ‘never’],
‘use-isnan’: 2,
‘valid-typeof’: 2,
‘wrap-iife’: [2, ‘any’],
‘yield-star-spacing’: [2, ‘both’],
yoda: [2, ‘never’],
‘prefer-const’: 1,
‘object-curly-spacing’: [
2,
‘always’,
{
objectsInObjects: false
}
],
‘array-bracket-spacing’: [2, ‘never’],
‘prettier/prettier’: [‘error’, { endOfLine: ‘auto’ }] // 忽略换行格式的检查
}
}


##### 第八步配置VScode1、安装“ESLint”插件  2、安装“Prettier ESLint”插件

// 配置vscode
// 打开:设置 -> 文本编辑器 -> 字体 -> 在 settings.json 中编辑

// settings.json文件
{
// vscode默认启用了根据文件类型自动设置tabsize的选项
“editor.detectIndentation”: false,
// 重新设定tabsize
“editor.tabSize”: 2,
// 每次保存的时候自动格式化
“editor.formatOnSave”: true,
// 每次保存的时候将代码按eslint格式进行修复
“eslint.autoFixOnSave”: true,
// 添加vue支持
“eslint.validate”: [
“javascript”,
“javascriptreact”,
{
“language”: “vue”,
“autoFix”: true
}
],
// 让prettier使用eslint的代码格式进行校验
“prettier.eslintIntegration”: true
}


### 至此Vue3 + Vite + js + ESlint + Prettier就配置完成,此时先不急着运行项目,先把。node\_modules包和pnpm-lock.yaml删除掉再重新安装依赖包,防止有些依赖包手动降低或升级版本带来的报错

pnpm i

npm i

yarn


##### 运行项目就可以看到ESlint 代码提示了

/Users/lizhengzheng/Desktop/vue3_vite_js_eslint_prettier/src/components/HelloWorld.vue
5:3 warning Prop ‘msg’ requires default value to be set vue/require-default-prop
5:14 error Delete , prettier/prettier
24:8 error ‘href’ should be on a new line vue/max-attributes-per-line
24:62 error ‘target’ should be on a new line vue/max-attributes-per-line
24:77 error Replace ⏎······>create-vue</a⏎····>,·the·official·Vue·+·Vite with >create-vue</a>,·the·official·Vue·+·Vite⏎··· prettier/prettier

✖ 5 problems (4 errors, 1 warning)
4 errors and 0 warnings potentially fixable with the --fix option.

Plugin: vite-plugin-eslint
File: /Users/lizhengzheng/Desktop/vue3_vite_js_eslint_prettier/src/components/HelloWorld.vue
14:33:36 [vite] Pre-transform error:
/Users/lizhengzheng/Desktop/vue3_vite_js_eslint_prettier/src/components/HelloWorld.vue
5:3 warning Prop ‘msg’ requires default value to be set vue/require-default-prop
5:14 error Delete , prettier/prettier
24:8 error ‘href’ should be on a new line vue/max-attributes-per-line
24:62 error ‘target’ should be on a new line vue/max-attributes-per-line
24:77 error Replace ⏎······>create-vue</a⏎····>,·the·official·Vue·+·Vite with >create-vue</a>,·the·official·Vue·+·Vite⏎··· prettier/prettier

✖ 5 problems (4 errors, 1 warning)
4 errors and 0 warnings potentially fixable with the --fix option.

14:33:37 [vite] warning:
/Users/lizhengzheng/Desktop/vue3_vite_js_eslint_prettier/src/components/HelloWorld.vue
5:3 warning Prop ‘msg’ requires default value to be set vue/require-default-prop
5:14 error Delete , prettier/prettier
24:8 error ‘href’ should be on a new line vue/max-attributes-per-line
24:62 error ‘target’ should be on a new line vue/max-attributes-per-line
24:77 error Replace ⏎······>create-vue</a⏎····>,·the·official·Vue·+·Vite with >create-vue</a>,·the·official·Vue·+·Vite⏎··· prettier/prettier

✖ 5 problems (4 errors, 1 warning)
4 errors and 0 warnings potentially fixable with the --fix option.

Plugin: vite-plugin-eslint
File: /Users/lizhengzheng/Desktop/vue3_vite_js_eslint_prettier/src/components/HelloWorld.vue
14:33:37 [vite] Internal server error:
/Users/lizhengzheng/Desktop/vue3_vite_js_eslint_prettier/src/components/HelloWorld.vue
5:3 warning Prop ‘msg’ requires default value to be set vue/require-default-prop
5:14 error Delete , prettier/prettier
24:8 error ‘href’ should be on a new line vue/max-attributes-per-line
24:62 error ‘target’ should be on a new line vue/max-attributes-per-line
24:77 error Replace ⏎······>create-vue</a⏎····>,·the·official·Vue·+·Vite with >create-vue</a>,·the·official·Vue·+·Vite⏎··· prettier/prettier


##### 第九步错误解决

error Definition for rule ‘vue/name-property-casing’ was not found
解决方法: 安装 pnpm install eslint-plugin-vue@7.0.0 -D
[vite] Pre-transform error: Failed to load plugin ‘vue’ declared in ‘.eslintrc.cjs’
解决方法: 删除node_modules包和pnpm-lock.yaml再重新安装 pnpm i


#### 项目中所有用到的包package.json### 最后**一个好的心态和一个坚持的心很重要**,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。**分享一些前端面试题以及学习路线给大家**![](https://img-blog.csdnimg.cn/img_convert/cc26ba2c4369b61d989eed907a5a4519.webp?x-oss-process=image/format,png)te⏎···`  prettier/prettier
第九步错误解决
 error  Definition for rule 'vue/name-property-casing' was not found
解决方法: 安装  pnpm install eslint-plugin-vue@7.0.0 -D
[vite] Pre-transform error: Failed to load plugin 'vue' declared in '.eslintrc.cjs'
解决方法: 删除node_modules包和pnpm-lock.yaml再重新安装 pnpm i
项目中所有用到的包package.json

最后

一个好的心态和一个坚持的心很重要,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。

分享一些前端面试题以及学习路线给大家

[外链图片转存中…(img-TxPYDUGj-1718769853393)]

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读--Cross-view Transformers for real-time Map-view Semantic Segmentation

一种新的2D维度的bev特征提取方案&#xff0c;其通过引入相机先验信息&#xff08;相机内参和外参&#xff09;构建了一个多视图交叉注意力机制&#xff0c;能够将多视图特征映射为BEV特征。 cross view attention&#xff1a;BEV位置编码由根据相机标定结果&#xff08;内参和…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 密码解密(100分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f…

Python-gui开发之Pycharm+pyside6/Pyqt6环境搭建

Python-gui开发之Pycharm+pyside6/Pyqt6环境搭建 软件版本一、软件安装1、Python安装2、Pycharm安装3、pyside6或pyqt6安装①安装pyside6②安装PyQt6和pyqt6-tools二、Pycharm项目配置1、插件安装2、新建项目以及环境配置3、包管理安装三、在Pycharm中配置PySide61、pyside6 Qt…

[leetcode hot 150]第十五题,三数之和

题目&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复…

CRMEB多商户阿里云集群部署流程

注意: 1.所有服务创建时地域一定要选择一致,这里我用的是杭州K区 2.文件/图片上传一定要用类似oss的云文件服务, 本文不做演示 一、 创建容器镜像服务&#xff0c;容器镜像服务(aliyun.com) ,个人版本就可以 先创建一个命名空间然后创建一个镜像仓库查看并记录镜像公网地址创建…

Ubuntu server 24 (Linux) 安装lua + 卸载软件

1 apt 安装 # sudo apt update #查看可安装的lua版本 sudo apt-get install luaversion # sudo apt-get install lua5.3 #查看版本 testiZbp1g7fmjea77vsqc5hmmZ:/data/soft$ lua -v Lua 5.3.6 Copyright (C) 1994-2020 Lua.org, PUC-Rio2 Ubuntu卸载软件 #查找lua已安装…

计算机毕业设计Python+Spark音乐推荐系统 音乐数据分析 音乐可视化 音乐爬虫 音乐大数据 大数据毕业设计 大数据毕设

2023届本科生毕业论文&#xff08;设计&#xff09;开题报告 知识图谱音乐推荐系统 学 院&#xff1a; XXX 专 业&#xff1a; XXX 年 级 班 级&#xff1a; XXX 学 生 姓 名&#xff1a; XXX 指 导 教 师&#xff1a; XXX 协助指导教师&#xff1a; …

生成对抗网络——CGAN(代码+理解)

目录 一、CGAN模型介绍 二、CGAN训练流程 1. 初始化 2. 数据准备 3. 输出模型计算结果 4. 计算损失 5. 反向传播和优化 6. 迭代训练 三、CGAN实现 1. 模型结构 &#xff08;1&#xff09;生成器&#xff08;Generator&#xff09; &#xff08;2&#xff09;判别器…

【深度学习】GELU激活函数是什么?

torch.nn.GELU 模块在 PyTorch 中实现了高斯误差线性单元&#xff08;GELU&#xff09;激活函数。GELU 被用于许多深度学习模型中&#xff0c;包括Transformer&#xff0c;因为它相比传统的 ReLU&#xff08;整流线性单元&#xff09;函数能够更好地近似神经元的真实激活行为。…

如何使用ChatGPT辅助设计工作

文章目录 设计师如何使用ChatGPT提升工作效率&#xff1f;25个案例告诉你&#xff01;什么是 prompt&#xff1f;咨询信息型 prompt vs 执行任务 prompt编写出色 prompt 的基本思路撰写 prompt 的案例和技巧1、将 ChatGPT 视作专业人士2、使用 ChatGPT 创建表单3、使用 ChatGPT…

JDBC(简介、入门与IDEA中导入MySQL的驱动)

&#xff08;建议学完 MySQL 的基础部分&#xff09; JDBC——简而言之&#xff1a;用 Java 语言操作数据库。 Java DataBase Connectivity&#xff08;Java 语言连接数据库&#xff09; 目录 一、引言 &#xff08;1&#xff09;基本介绍 &#xff08;2&#xff09;JDBC 简…

2024华为OD机试真题- 计算三叉搜索树的高度-(C++/Python)-C卷D卷-100分

2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述 定义构造三叉搜索树规则如下: 每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。查找的规则是: 1.如果数小于节点的数减去500,则将数插入节点的左子树 2.如果数大于…

【配置】Notion自动化备份到github方案

步骤 打开notion网页&#xff0c;获取到需要的值 token_v2 找到请求getSpaces的 Cookie 值 token_v2 space_id 找到请求getSpaces的响应结果space,如下图&#xff1a; file_token 找个页面点击导出&#xff0c;之后拿到这个配置项 注意&#xff1a;配置项会过期&#xff0c…

低版本火狐浏览器报错:class is a reserved identifier

低版本火狐浏览器报错&#xff1a;class is a reserved identifier 原因&#xff1a;react-dnd&#xff0c;dnd-core 等node包的相关依赖有过更新&#xff0c;使得在低版本火狐浏览器中不支持 class 解决方法&#xff1a;在使用webpack打包构建时&#xff0c;编译排除node_modu…

Unity OpenCVForUnity 安装和第一个案例详解 <一>

目录 一、资源简介 二、安装使用 1.下载案例Demo 2.移动StreamingAssets文件夹 3.添加场景 三、今日案例 1.案例Texture2DToMat Example 2.什么是Mat&#xff1f; 3.如何把Texture2D变成Mat &#xff08;1&#xff09;.初始化Mat &#xff08;2&#xff09;.Cv_…

【React Native】measureInWindow在安卓上无法正确获取View在屏幕上的布局信息

问题描述&#xff1a; 在React Native中&#xff0c;我们可以使用measureInWindow的方式去获取一个View在屏幕中的位置信息&#xff1a; 下面这个Demo中&#xff0c;我们写了一个页面HomePage和一个列表项组件ListItemA&#xff0c;我们期望每过5s监测一次列表中每一项在屏幕中…

RabbitMQ(六)仲裁队列、流式队列、异地容灾(联邦队列Federation Queue)

文章目录 仲裁队列1、创建交换机2、创建仲裁队列3、验证主节点宕机不影响消息发送和接收 流式队列&#xff08;不推荐&#xff0c;Kafka主场&#xff09;概念 异地容灾一、Federation插件概述 二、Federation交换机1、总体说明2、准备工作3、启用联邦插件4、添加上游连接端点5、…

【深度学习】TCN,An Empirical Evaluation of Generic Convolutional【二】

文章目录 膨胀卷积什么是膨胀卷积膨胀卷积公式PyTorch代码 从零开始手动实现一个1D膨胀卷积&#xff0c;不使用PyTorch的nn.Conv1d1. 基本概念2. 手动实现1D膨胀卷积 TCN结构如何使用TCN源码说明1. Chomp1d 类2. TemporalBlock 类3. TemporalConvNet 类 使用方法 膨胀卷积 什么…

DVWA - Brute Force

DVWA - Brute Force 等级&#xff1a;low ​ 直接上bp弱口令爆破&#xff0c;设置变量&#xff0c;攻击类型最后一个&#xff0c;payload为用户名、密码简单列表 ​ 直接run&#xff0c;长度排序下&#xff0c;不一样的就是正确的用户名和密码 ​ 另解&#xff1a; 看一下…

【SpringBoot + Vue 尚庭公寓实战】公寓杂费接口实现(八)

【SpringBoot Vue 尚庭公寓实战】公寓杂费接口实现&#xff08;八&#xff09; 文章目录 【SpringBoot Vue 尚庭公寓实战】公寓杂费接口实现&#xff08;八&#xff09;1、公寓杂费业务介绍2、公寓杂费逻辑模型介绍3、接口实现3.1、保存或更新杂费值3.2、保存或更新杂费名称3…