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

vue2企业级项目(一)

vue2企业级项目(一)

创建项目,并创建项目编译规范

1、node 版本

由于是vue2项目,所以 node 版本比较低。使用 12.18.3 左右即可

2、安装vue

安装指定版本的vue2

npm i -g vue@2.7.10
npm i -g @vue/cli@4.4.6

3、编辑器规范

  1. vscode安装 EditorConfig for VS Code插件

  2. 项目根目录创建 .editorconfig文件

  3. 填写一下示例内容

    # 表示是最顶层的配置文件,发现值为true时,才会停止查找.editorconfig文件
    root = true# 表示配置所有的文件
    [*]
    # utf-8格式
    charset = utf-8
    # 缩进为2个空格
    indent_style = space
    indent_size = 2
    # 结尾都是用crlf格式, 并且文件保存是结尾换行
    end_of_lint = crlf
    insert_final_newline = true
    # 移除无效空格
    trim_trailing_whitespace = true# 表示配置所有的md文件
    [*.md]
    insert_final_newline = true
    trim_trailing_whitespace = true

4、prettier

4、prettier

  1. vscode安装 Prettier - Code formatter插件

  2. 项目安装插件

    npm install --save-dev prettier@1.18.2
    
  3. 项目根目录创建.prettierignore文件

    dist/*
    node_modules/*
    packages/*
    public/*
  4. 项目根目录创建.prettierrc文件

    {"arrowParens": "always","bracketSpacing": true,"endOfLine": "crlf","htmlWhitespaceSensitivity": "ignore","ignorePath": ".prettierignore","jsxBracketSameLine": false,"jsxSingleQuote": false,"printWidth": 80,"quoteProps": "as-needed","semi": true,"singleQuote": false,"tabWidth": 2,"trailingComma": "all","useTabs": false,"vueIndentScriptAndStyle": false
    }
    
  5. 添加启动命令到package.json

    "script": {..."format": "prettier --write \"src/**/*.js\" \"src/**/*.vue\"",
    }
    

5、eslint

  1. vscode安装 Eslint插件

  2. 项目下载依赖

    npm install --save-dev eslint-config-prettier@8.8.0 eslint-plugin-prettier@5.0.0
    
  3. 根目录创建.eslintignore文件

    dist/*
    node_modules/*
    packages/*
    public/*
  4. 根目录创建.eslintrc.js文件

    module.exports = {root: true,env: {node: true,},extends: ["plugin:vue/essential","eslint:recommended","plugin:prettier/recommended",],parserOptions: {ecmaVersion: 2020,},rules: {"array-callback-return": "error","arrow-parens": "error","arrow-spacing": ["error",{before: true,after: true,},],"comma-dangle": ["error", "always-multiline"],"object-curly-spacing": ["error", "always"],"key-spacing": ["error", { beforeColon: false, afterColon: true }],"comma-spacing": ["error",{before: false,after: true,},],indent: ["error",2,{SwitchCase: 1,},],"for-direction": "error","keyword-spacing": ["error",{before: true,after: true,},],"no-console": process.env.NODE_ENV === "production" ? "warn" : "off","no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off","no-extra-semi": "error","no-multi-spaces": "error","no-multiple-empty-lines": ["error",{max: 3,maxEOF: 1,maxBOF: 1,},],"prettier/prettier": "off",quotes: ["error", "double"],"semi-spacing": ["error",{before: false,after: true,},],"semi-style": ["error", "last"],semi: ["error","always",{omitLastInOneLineBlock: true,},],"space-after-keywords": [0, "always"],"space-infix-ops": "error","spaced-comment": ["error","always",{block: {exceptions: ["*"],balanced: true,},},],},
    };
  5. 添加启动命令到package.json

    "script": {...,"eslint:fix": "eslint src/**/* --ext .js,.vue",
    }
    

6、stylelint

  1. vscode安装stylelint插件

  2. 项目安装依赖

    npm install --save-dev stylelint@15.3.0 stylelint-config-recommended@11.0.0 stylelint-config-recommended-vue@1.4.0 stylelint-config-recommended-vue@1.4.0 stylelint-config-standard@25.0.0 stylelint-config-prettier@9.0.5 stylelint-order@5.0.0 stylelint-less postcss-html postcss-less@4.0.0 less-loader@4.1.0 less@4.1.3
    
  3. 根目录创建.stylelintignore文件

    dist/*
    node_modules/*
    packages/*
    public/*
    
  4. 根目录创建.stylelintrc.js文件

    module.exports = {extends: ["stylelint-config-recommended","stylelint-config-standard","stylelint-config-recommended-vue","stylelint-config-html","stylelint-config-prettier",],plugins: ["stylelint-order", "stylelint-less"],ignorePath: ".stylelintignore",overrides: [{files: ["**/*.{html,vue}"],customSyntax: "postcss-html",},{files: ["**/*.less"],customSyntax: "postcss-less",},],rules: {"declaration-block-no-duplicate-properties": [true,{ignore: "consecutive-duplicates",},],indentation: 2,"selector-pseudo-element-no-unknown": [true,{ignorePseudoElements: ["v-deep"],},],"number-leading-zero": "never","no-descending-specificity": null,"font-family-no-missing-generic-family-keyword": null,"selector-type-no-unknown": null,"at-rule-no-unknown": null,"no-duplicate-selectors": null,"no-empty-source": null,"block-no-empty": true,"max-nesting-depth": null,"max-line-length": null,"selector-max-compound-selectors": null,"selector-no-qualifying-type": null,"selector-class-pattern": null,"function-no-unknown": null,"function-parentheses-newline-inside": null,"alpha-value-notation": "number","no-empty-first-line": true,"order/properties-order": ["width","min-width","max-width","height","min-height","max-height","position","top","right","bottom","left","z-index","display","flex-wrap","justify-content","align-items","float","clear","overflow","overflow-x","overflow-y","padding","padding-top","padding-right","padding-bottom","padding-left","margin","margin-top","margin-right","margin-bottom","margin-left","font-size","font-family","font-weight","text-justify","text-align","text-indent","text-align","text-overflow","text-decortion","white-space","color","background","background-position","background-repeat","background-size","background-color","background-clip","border","border-style","border-width","border-color","border-top-style","border-top-width","border-top-color","border-right-style","border-right-width","border-right-color","border-bottom-style","border-bottom-width","border-bottom-color","border-left-style","border-left-width","border-left-color","border-radius","opacity","filter","list-style","outline","visibility","box-shadow","text-shadow","resize","trasition",],"selector-pseudo-class-no-unknown": [true,{ ignorePseudoClasses: ["global"] },],},
    };
  5. 添加启动命令到package.json

    "script": {...,"stylelint:fix": "stylelint src/**/*.{html,vue,less} --fix",
    }
    
  6. vscode配置文件新增内容如下

    ...
    "editor.codeActionsOnSave": {"source.fixAll.stylelint": true
    },
    "stylelint.validate": ["vue", "less", "css", "html", "scss", "sass"]
    

7、可选链

  1. 项目安装依赖

    npm install --save-dev @babel/core @babel/preset-env @babel/plugin-proposal-optional-chaining @babel/plugin-proposal-nullish-coalescing-operator
  2. 项目根目录babel.config.js修改如下

    module.exports = {presets: ["@vue/cli-plugin-babel/preset"],plugins: ["@babel/plugin-proposal-optional-chaining","@babel/plugin-proposal-nullish-coalescing-operator",],
    };
    

8、commitlint

  1. 执行命令

    vue add commitlint
    
  2. 下载依赖

    npm install --save-dev lint-staged@9.5.0
    
  3. 修改package.json配置

    ...
    "husky": {"hooks": {"pre-commit": "lint-staged","commit-msg": "commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged": {"*.{js,vue}": ["vue-cli-service lint ./src --fix","prettier --write ./src","git add"]}
    

相关文章:

vue2企业级项目(一)

vue2企业级项目(一) 创建项目,并创建项目编译规范 1、node 版本 由于是vue2项目,所以 node 版本比较低。使用 12.18.3 左右即可 2、安装vue 安装指定版本的vue2 npm i -g vue2.7.10 npm i -g vue/cli4.4.63、编辑器规范 vsc…...

【前端知识】React 基础巩固(三十八)——log、thunk、applyMiddleware中间件的核心代码

React 基础巩固(三十八)——log、thunk、applyMiddleware中间件的核心代码 一、打印日志-中间件核心代码 利用Monkey Patching,修改原有的程序逻辑,在调用dispatch的过程中,通过dispatchAndLog实现日志打印功能 // 打印日志-中间件核心代码…...

hive删除数据进行恢复

在实际开发或生产中,hive表如果被误删,如被truncate或是分区表的分区被误删了,只要在回收站的清空周期内,是可以恢复数据的,步骤如下: (1) 先找到被删除数据的存放目录,…...

二、前端高德地图、渲染标记(Marker)引入自定义icon,手动设置zoom

要实现这个效果,我们先看一下目前的页面展示: 左边有一个图例,我们可以方法缩小地图,右边是动态的marker标记,到时候肯定时候是后端将对应的颜色标识、文字展示、坐标点给咱们返回、我们肯定可以拿到一个list&#xf…...

UDF和UDAF、UDTF的区别

UDF UDF(User-defined functions)用户自定义函数,简单说就是输入一行输出一行的自定义算子。 是大多数 SQL 环境的关键特性,用于扩展系统的内置功能。(一对一) UDAF UDAF(User Defined Aggregat…...

小研究 - 浅析 JVM 中 GC 回收算法与垃圾收集器

本文主要介绍了JVM虚拟机中非常重要的两个部分,GC 回收算法和垃圾收集器。从可回收对象的标记开始,详细介绍 了四个主流的GC算法,详细总结了各自的算法思路及优缺点, 提出了何种情况下应该通常选用哪种算法。 目录 1 标记可回收对…...

Flowable-服务-骆驼任务

目录 定义图形标记XML内容Flowable与Camel集成使用示例设计Came路由代码 定义 Camel 任务不是 BPMN 2.0 规范定义的官方任务,在 Flowable 中,Camel 任务是作为一种特殊的服务 任务来实现的。主要做路由工作的。 图形标记 由于 Camel 任务不是 BPMN 2.…...

用html+javascript打造公文一键排版系统9:主送机关排版

一、主送机关的规定 公文一般在标题和正文之间还有主送机关,相关规定为: 主送机关 编排于标题下空一行位置,居左顶格,回行时仍顶格,最后一个机关名称后标全角冒号。如主送机关名称过多导致公文首页不能显示正文时&…...

SpringBoot 集成 EasyExcel 3.x 优雅实现 Excel 导入导出

介绍 EasyExcel 是一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成 Excel 的读、写等功能。 EasyExcel文档地址: https://easyexcel.opensource.alibaba.com/ 快速开始 …...

RT1052 的四定时器

文章目录 1 Quad Timer,简称:QTMR2 单个通道的框图3 QTMR配置3.1 QTMR1 时钟使能。3.2 初始化 QTMR1。3.2.1 QTMR_Init 3.3 设置 QTMR1 通道 0 的定时周期。3.3.1QTMR_SetTimerPeriod 3.4 使能 QTMR1 通道 0 的比较中断。3.4.1 QTMR_EnableInterrupts 3.…...

ViT-vision transformer

ViT-vision transformer 介绍 Transformer最早是在NLP领域提出的,受此启发,Google将其用于图像,并对分类流程作尽量少的修改。 起源:从机器翻译的角度来看,一个句子想要翻译好,必须考虑上下文的信息&…...

Election of the King 2023牛客暑期多校训练营4-F

登录—专业IT笔试面试备考平台_牛客网 题目大意:有一个n个数的数组a,有n-1轮操作,每轮由每个数选择一个和它的差最大的数,如果相同就选值更大的,被最多数组选择的数字被删去,有相同的也去掉数值更大的那个…...

Nacos的搭建及服务调用

文章目录 一、搭建Nacos服务1、Nacos2、安装Nacos3、Docker安装Nacos 二、OpenFeign和Dubbo远程调用Nacos的服务1、搭建SpringCloudAlibaba的开发环境1.1 构建微服务聚合父工程1.2 创建子模块cloud-provider-payment80011.3 创建子模块cloud-consumer-order80 2、远程服务调用O…...

uniapp小程序自定义loding,通过状态管理配置全局使用

一、在项目中创建loding组件 在uniapp的components文件夹下创建loding组件&#xff0c;如图&#xff1a; 示例代码&#xff1a; <template><view class"loginLoading"><image src"../../static/loading.gif" class"loading-img&q…...

leetcode 45. 跳跃游戏 II

2023.7.30 class Solution { public:int jump(vector<int>& nums) {int step 0;int cover 0;int largest 0;if(nums.size() 1) return step;for(int i0; i<nums.size(); i){cover max(cover , inums[i]); //最大覆盖范围if(cover > nums.size()-1) retur…...

力扣热门100题之矩阵置0【中等】

题目描述 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]] 示例 2&#xff…...

【机器学习】Classification using Logistic Regression

Classification using Logistic Regression 1. 分类问题2. 线性回归方法3. 逻辑函数&#xff08;sigmod&#xff09;4.逻辑回归5. 决策边界5.1 数据集5.2 数据绘图5.3 逻辑回归与决策边界的刷新5.4 绘制决策边界 导入所需的库 import numpy as np %matplotlib widget import m…...

全方位支持图文和音视频、100+增强功能,Facebook开源数据增强库AugLy

Facebook 近日开源了数据增强库 AugLy&#xff0c;包含四个子库&#xff0c;每个子库对应不同的模态&#xff0c;每个库遵循相同的接口。支持四种模态&#xff1a;文本、图像、音频和视频。 最近&#xff0c;Facebook 开源了一个新的 Python 库——AugLy&#xff0c;该库旨在帮…...

RxSwift 使用方式

背景 最近项目业务&#xff0c;所有模块已经支持Swift混编开发&#xff0c;正在逐步使用Swift 方式进行开发新业务&#xff0c;以及逐步替换老业务方式进行发展&#xff0c;所以使用一些较为成熟的Swift 的三方库&#xff0c;成为必要性&#xff0c;经过调研发现RxSwift 在使用…...

HTML5 Web Worker

HTML5 Web Worker是一种浏览器提供的JavaScript多线程解决方案&#xff0c;它允许在后台运行独立于页面主线程的脚本&#xff0c;从而避免阻塞页面的交互和渲染。Web Worker可以用于执行计算密集型任务、处理大量数据、实现并行计算等&#xff0c;从而提升前端应用的性能和响应…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

一、前言 在HarmonyOS 5的应用开发模型中&#xff0c;featureAbility是旧版FA模型&#xff08;Feature Ability&#xff09;的用法&#xff0c;Stage模型已采用全新的应用架构&#xff0c;推荐使用组件化的上下文获取方式&#xff0c;而非依赖featureAbility。 FA大概是API7之…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...