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

青秀网站建设全媒体运营师培训机构

青秀网站建设,全媒体运营师培训机构,北京建设管理有限公司官网,西安优秀的集团门户网站建设记录一下使用WebStorm开发Vu3项目时的配置 现在WebStorm可以个人免费使用啦!🤩 基本配置 打包工具:Vite 前端框架:ElementPlus 开发语言:Vue3、TypeScript、Sass 代码检查:ESLint、Prettier IDE&#xf…

记录一下使用WebStorm开发Vu3项目时的配置

现在WebStorm可以个人免费使用啦!🤩

基本配置

打包工具:Vite
前端框架:ElementPlus
开发语言:Vue3、TypeScript、Sass
代码检查:ESLint、Prettier
IDE:WebStorm 2024.2

首先说一下版本兼容问题,ElementPlus>=2.8.5需要Sass>=1.79.0,但是升级了Sass后,会导致Element提示很多警告,猜测原因是因为Sass在后续版本修改了一些语法规则,而Element没有跟进修改。这些警告虽然不影响代码运行,但是看着糟心,目前只能等待官方后续更新了。

搭建Vue3项目

通过Vite搭建Vue3项目

npm create vite@latest my-vue-app -- --template vue-ts
  1. my-vue-app为项目文件夹名称
  2. vue-ts表示使用包含typescript的vue项目模板搭建

安装后的目录结构

├─ index.html
├─ package.json
├─ tsconfig.json #typescript配置文件
├─ tsconfig.app.json #typescript配置文件,本项目的ts配置,自动引用到tsconfig.json中
├─ tsconfig.node.json #typescript配置文件,为vite服务的ts配置,自动引用到tsconfig.json中
├─ vite.config.ts #vite配置文件
├─ src
│  ├─ assets #静态文件
│  ├─ components #组件
│  ├─ App.vue
│  ├─ main.ts

安装框架和其他工具包

修改项目根目录下的package.json文件,添加前端框架和其他依赖包

{"name": "my-vue-app","private": true,"version": "0.0.0","type": "module","scripts": {"dev": "vite","build": "vue-tsc -b && vite build","preview": "vite preview"},"dependencies": {"vue": "^3.5.12","element-plus": "^2.8.1"},"devDependencies": {"@vitejs/plugin-vue": "^5.1.4","typescript": "~5.6.2","vite": "^5.4.10","vue-tsc": "^2.1.8","sass": "^1.77.0","unplugin-auto-import": "^0.18.3","unplugin-vue-components": "^0.27.4","@eslint/js": "^9.13.0","@rushstack/eslint-patch": "^1.10.4","eslint-plugin-prettier": "^5.2.1","eslint-plugin-promise": "^6.6.0","eslint-plugin-vue": "^9.29.0","typescript-eslint": "^8.10.0","@vue/eslint-config-prettier": "^10.0.0","@vue/eslint-config-typescript": "^14.1.1"}
}
  1. unplugin-auto-importunplugin-vue-components为自动导入工具,可在编写代码时,可以无需import ref from 'vue'而直接使用ref,工具配置后会自动导入组件。
  2. 名称中包含eslint的依赖包为ESLint规则,后续在eslint.config.js中配置。
  3. 正如一开始所说,由于ElementPlus和Sass版本过高会出现警告的问题,所以目前安装的低版本,等待官方修复问题后,再升级版本。

运行安装依赖

npm install

如果安装时间过久,或者提示网络超时,可以切换npm源后再重新安装

# 切换为淘宝镜像
npm config set registry https://registry.npmmirror.com/

配置vite:vite.config.ts

import {defineConfig, loadEnv} from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite';
import {ElementPlusResolver} from "unplugin-vue-components/resolvers";
import Components from 'unplugin-vue-components/vite';
import path from 'path';export default defineConfig(({ mode }) => {// 环境变量const env = loadEnv(mode, process.cwd(), '');return {plugins: [vue(),AutoImport({// 自动导入的组件imports: ['vue', 'vue-router'],// 解析器:当前使用了ElementPlus的解析器resolvers: [ElementPlusResolver()],// 开启eslinteslintrc: { enabled: true },}),Components({// 解析器:当前使用了ElementPlus的解析器resolvers: [ElementPlusResolver({ importStyle: 'sass' })],// 以下文件夹中的组件自动导入dirs: ['src/components'],}),],resolve: {alias: {// 设置路径别名'@': path.resolve(__dirname, './src'),},},server: {// 网络请求代理proxy: {'/t/': {target: env.VITE_SERVER,changeOrigin: true,},},},};
});

运行项目

npm run dev

运行后会自动生成文件auto-imports.d.tscomponents.d.ts,又因为AutoImport开启了eslintrc,还会生成文件.eslintrc-auto-import.json

配置eslint:eslint.config.ts

目前使用的eslint9版本,配置文件与之前版本的写法可能不一致。
注意:WebStorm2024版本才支持eslint9版本的配置文件。

创建eslint配置文件eslint.config.js

import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginVue from 'eslint-plugin-vue';
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
import autoImport from './.eslintrc-auto-import.json' assert { type: 'json' };export default [{ files: ['**/*.{js,mjs,cjs,ts,vue}'] },// 导入auto-import插件配置(目前暂不支持eslint9){ files: ['**/*.{js,mjs,cjs,ts,vue}'], languageOptions: autoImport },pluginJs.configs.recommended,...tseslint.configs.recommended,...pluginVue.configs['flat/essential'],{ files: ['**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser } } },// 自定义规则{rules: {// 使用any类型时提示警告'@typescript-eslint/no-explicit-any': 'warn',},},eslintPluginPrettierRecommended,
];
  1. 由于目前unplugin-auto-import并不支持eslint9,所以需要导入.eslintrc-auto-import.json文件消除错误提示。
  2. 一般来说eslint-plugin-prettier的规则要放在最后,保证它的规则不会被覆盖。
  3. 如果要增加更多规则,请查看eslint配置文档。

修改ts配置:tsconfig.app.json

修改ts配置,添加上一步自动生成的.d.ts文件,添加后就不会提示Vue的导入错误了。

# 在include中添加文件名
{"compilerOptions": {...}"include": [..., "auto-imports.d.ts", "components.d.ts"]
}

修改WebStorm设置

  • 选择自动ESLint配置,编辑器会自动寻找根目录下的.eslint.config.js文件。
  • 勾选eslint --fix会在保存文件时自动格式化代码。
    在这里插入图片描述
    在这里插入图片描述
    修改后重启一下编辑器,或者重启语言服务中的两个服务。

完成后打开App.vue文件,删除import HelloWorld from './components/HelloWorld.vue',并没有HelloWorld组件未导入的错误提示,则说明配置生效了。

配置prettier:.prettierrc.json

默认prettier的规则可能不适合个人习惯,可以通过添加.prettierrc.json配置文件进行修改规则

{"semi": true, 	// 句尾增加分号"tabWidth": 4,	//使用4个空格缩进"singleQuote": true,	// 使用单引号"printWidth": 200,	// 超过200字符换行"arrowParens": "avoid",	// 单箭头函数不加括号"bracketSameLine": true	// 对象前后增加空格
}

还有很多规则,可以查看prettier文档。

环境变量env

创建文件.env.env.development.env.production分别对应默认配置、开发环境配置、生成环境配置

// .env.development
VITE_SERVER = http://dev.xxx.com
// .env.production
VITE_SERVER = http://pro.xxx.com

修改打包命令

// package.json
{..."scripts":{..."build": "vite build --mode production","build-dev": "vite build --mode development",...}...
}

更多有关环境变量的配置和使用,请查看vite文档。

其他问题

  1. 为什么用了ESLint还要用Prettier,两者分别有什么作用?
    Prettier用于格式化代码,确保缩进、分号、引号、换行等代码格式一致;ESLint则用于代码语法检测,提示错误。

文章转载自:
http://scottie.Lnnc.cn
http://ironical.Lnnc.cn
http://ferrosilicon.Lnnc.cn
http://smithcraft.Lnnc.cn
http://orismology.Lnnc.cn
http://cardsharping.Lnnc.cn
http://unfitness.Lnnc.cn
http://negativity.Lnnc.cn
http://shmatte.Lnnc.cn
http://suboptimum.Lnnc.cn
http://cofunction.Lnnc.cn
http://shadchan.Lnnc.cn
http://kinesthetic.Lnnc.cn
http://regolith.Lnnc.cn
http://agonic.Lnnc.cn
http://mote.Lnnc.cn
http://forwardly.Lnnc.cn
http://hushpuppy.Lnnc.cn
http://angaraland.Lnnc.cn
http://okazaki.Lnnc.cn
http://thump.Lnnc.cn
http://cmd.Lnnc.cn
http://adele.Lnnc.cn
http://whippet.Lnnc.cn
http://manege.Lnnc.cn
http://lettered.Lnnc.cn
http://papertrain.Lnnc.cn
http://berlin.Lnnc.cn
http://bearded.Lnnc.cn
http://nuphar.Lnnc.cn
http://howling.Lnnc.cn
http://kennebec.Lnnc.cn
http://groid.Lnnc.cn
http://brio.Lnnc.cn
http://dudley.Lnnc.cn
http://nonofficial.Lnnc.cn
http://diastem.Lnnc.cn
http://disservice.Lnnc.cn
http://gayer.Lnnc.cn
http://rooklet.Lnnc.cn
http://undecorticated.Lnnc.cn
http://unright.Lnnc.cn
http://pulpous.Lnnc.cn
http://nutgall.Lnnc.cn
http://brize.Lnnc.cn
http://demythologise.Lnnc.cn
http://healingly.Lnnc.cn
http://slavism.Lnnc.cn
http://unadvantageous.Lnnc.cn
http://chagul.Lnnc.cn
http://thick.Lnnc.cn
http://nucleophilic.Lnnc.cn
http://craal.Lnnc.cn
http://pellagra.Lnnc.cn
http://geratology.Lnnc.cn
http://timorous.Lnnc.cn
http://understandable.Lnnc.cn
http://keyhole.Lnnc.cn
http://hearing.Lnnc.cn
http://preserving.Lnnc.cn
http://eigenfrequency.Lnnc.cn
http://oophyte.Lnnc.cn
http://antisepticise.Lnnc.cn
http://hereabout.Lnnc.cn
http://shortwave.Lnnc.cn
http://sprout.Lnnc.cn
http://calpack.Lnnc.cn
http://neumes.Lnnc.cn
http://divergence.Lnnc.cn
http://aerotow.Lnnc.cn
http://amphibrach.Lnnc.cn
http://genii.Lnnc.cn
http://dust.Lnnc.cn
http://holobenthic.Lnnc.cn
http://quassia.Lnnc.cn
http://christolatry.Lnnc.cn
http://autotoxin.Lnnc.cn
http://stubbed.Lnnc.cn
http://overcame.Lnnc.cn
http://cyprinoid.Lnnc.cn
http://excrement.Lnnc.cn
http://cytopenia.Lnnc.cn
http://knockwurst.Lnnc.cn
http://popster.Lnnc.cn
http://maladjusted.Lnnc.cn
http://essentially.Lnnc.cn
http://diseconomy.Lnnc.cn
http://phototypesetting.Lnnc.cn
http://allah.Lnnc.cn
http://spillikin.Lnnc.cn
http://streamer.Lnnc.cn
http://fenfluramine.Lnnc.cn
http://mayest.Lnnc.cn
http://lymphocyte.Lnnc.cn
http://se.Lnnc.cn
http://arminianism.Lnnc.cn
http://jackscrew.Lnnc.cn
http://premaxillary.Lnnc.cn
http://gonial.Lnnc.cn
http://erysipelas.Lnnc.cn
http://www.dt0577.cn/news/60272.html

相关文章:

  • 网页设计html代码大全菜鸟2022网站seo
  • 网页设计毕业设计论文3000字郑州seo优化顾问阿亮
  • 做app页面的网站免费域名解析
  • 上海 网站制作关键词免费
  • 自己做自媒体在哪个网站比较好湖南网站定制
  • 什么平台可以做网站系统优化大师下载
  • 安庆网站建设aqwzjs营销策划书模板
  • uugaicomlogo免费设计网站合肥百度快照优化排名
  • 西安市做网站公司百度联盟广告点击一次收益
  • 网站被降权会发生什么影响百度快速优化软件
  • 很多搜索词网站怎样做国内时事新闻
  • 金华电子商务网站建设手游推广平台代理
  • 网站制作用什么语言排名软件
  • 广州花都区网站建设网络营销客服主要做什么
  • 网站建设icp备案网络销售公司怎么运作
  • 长沙市师德师风建设网站万网域名注册查询
  • 温州商城网站建设客服外包
  • wordpress 菜单钩子重庆seo论坛
  • 软件开发商网站自助建站
  • 介绍化工项目建设和招聘的网站安卓在线视频嗅探app
  • 各类郑州网站建设电商平台链接怎么弄
  • 有哪些做共享充电宝的网站怎样设计一个网页
  • 自己做网站后台广州关键词快速排名
  • 做餐饮加盟的网站网站域名怎么注册
  • 织梦做的网站前面有不安全什么是seo
  • 域名seo查询久久seo综合查询
  • 网站后台管理系统怎么上传看b站二十四小时直播间
  • 投融网站建设方案网址导航怎样推广
  • 临泉县建设局网站今日新闻事件
  • 玉儿做春梦网站搜索引擎优化规则