IT评测·应用市场-qidao123.com

标题: 使用WebStorm开发Vue3项目 [打印本页]

作者: 农民    时间: 2025-2-22 16:10
标题: 使用WebStorm开发Vue3项目
记载一下使用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项目

  1. npm create vite@latest my-vue-app -- --template vue-ts
复制代码
安装后的目录布局
  1. ├─ index.html
  2. ├─ package.json
  3. ├─ tsconfig.json #typescript配置文件
  4. ├─ tsconfig.app.json #typescript配置文件,本项目的ts配置,自动引用到tsconfig.json中
  5. ├─ tsconfig.node.json #typescript配置文件,为vite服务的ts配置,自动引用到tsconfig.json中
  6. ├─ vite.config.ts #vite配置文件
  7. ├─ src
  8. │  ├─ assets #静态文件
  9. │  ├─ components #组件
  10. │  ├─ App.vue
  11. │  ├─ main.ts
复制代码
安装框架和其他工具包

修改项目根目录下的package.json文件,添加前端框架和其他依靠包
  1. {
  2.   "name": "my-vue-app",
  3.   "private": true,
  4.   "version": "0.0.0",
  5.   "type": "module",
  6.   "scripts": {
  7.     "dev": "vite",
  8.     "build": "vue-tsc -b && vite build",
  9.     "preview": "vite preview"
  10.   },
  11.   "dependencies": {
  12.     "vue": "^3.5.12",
  13.     "element-plus": "^2.8.1"
  14.   },
  15.   "devDependencies": {
  16.     "@vitejs/plugin-vue": "^5.1.4",
  17.     "typescript": "~5.6.2",
  18.     "vite": "^5.4.10",
  19.     "vue-tsc": "^2.1.8",
  20.     "sass": "^1.77.0",
  21.     "unplugin-auto-import": "^0.18.3",
  22.     "unplugin-vue-components": "^0.27.4",
  23.     "@eslint/js": "^9.13.0",
  24.     "@rushstack/eslint-patch": "^1.10.4",
  25.     "eslint-plugin-prettier": "^5.2.1",
  26.     "eslint-plugin-promise": "^6.6.0",
  27.     "eslint-plugin-vue": "^9.29.0",
  28.     "typescript-eslint": "^8.10.0",
  29.     "@vue/eslint-config-prettier": "^10.0.0",
  30.     "@vue/eslint-config-typescript": "^14.1.1"
  31.   }
  32. }
复制代码
运行安装依靠
  1. npm install
复制代码
假如安装时间过久,或者提示网络超时,可以切换npm源后再重新安装
  1. # 切换为淘宝镜像
  2. npm config set registry https://registry.npmmirror.com/
复制代码
配置vite:vite.config.ts

  1. import {defineConfig, loadEnv} from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import AutoImport from 'unplugin-auto-import/vite';
  4. import {ElementPlusResolver} from "unplugin-vue-components/resolvers";
  5. import Components from 'unplugin-vue-components/vite';
  6. import path from 'path';
  7. export default defineConfig(({ mode }) => {
  8.         // 环境变量
  9.     const env = loadEnv(mode, process.cwd(), '');
  10.     return {
  11.         plugins: [
  12.             vue(),
  13.             AutoImport({
  14.                     // 自动导入的组件
  15.                 imports: ['vue', 'vue-router'],
  16.                 // 解析器:当前使用了ElementPlus的解析器
  17.                 resolvers: [ElementPlusResolver()],
  18.                 // 开启eslint
  19.                 eslintrc: { enabled: true },
  20.             }),
  21.             Components({
  22.                     // 解析器:当前使用了ElementPlus的解析器
  23.                 resolvers: [ElementPlusResolver({ importStyle: 'sass' })],
  24.                 // 以下文件夹中的组件自动导入
  25.                 dirs: ['src/components'],
  26.             }),
  27.         ],
  28.         resolve: {
  29.             alias: {
  30.                 // 设置路径别名
  31.                 '@': path.resolve(__dirname, './src'),
  32.             },
  33.         },
  34.         server: {
  35.                 // 网络请求代理
  36.             proxy: {
  37.                 '/t/': {
  38.                     target: env.VITE_SERVER,
  39.                     changeOrigin: true,
  40.                 },
  41.             },
  42.         },
  43.     };
  44. });
复制代码
运行项目
  1. npm run dev
复制代码
运行后会自动生成文件auto-imports.d.ts和components.d.ts,又由于AutoImport开启了eslintrc,还会生成文件.eslintrc-auto-import.json
配置eslint:eslint.config.ts

现在使用的eslint9版本,配置文件与之前版本的写法大概不同等。
留意:WebStorm2024版本才支持eslint9版本的配置文件。
创建eslint配置文件eslint.config.js
  1. import pluginJs from '@eslint/js';
  2. import tseslint from 'typescript-eslint';
  3. import pluginVue from 'eslint-plugin-vue';
  4. import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
  5. import autoImport from './.eslintrc-auto-import.json' assert { type: 'json' };
  6. export default [
  7.     { files: ['**/*.{js,mjs,cjs,ts,vue}'] },
  8.     // 导入auto-import插件配置(目前暂不支持eslint9)
  9.     { files: ['**/*.{js,mjs,cjs,ts,vue}'], languageOptions: autoImport },
  10.     pluginJs.configs.recommended,
  11.     ...tseslint.configs.recommended,
  12.     ...pluginVue.configs['flat/essential'],
  13.     { files: ['**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser } } },
  14.     // 自定义规则
  15.     {
  16.         rules: {
  17.             // 使用any类型时提示警告
  18.             '@typescript-eslint/no-explicit-any': 'warn',
  19.         },
  20.     },
  21.     eslintPluginPrettierRecommended,
  22. ];
复制代码
修改ts配置:tsconfig.app.json

修改ts配置,添加上一步自动生成的.d.ts文件,添加后就不会提示Vue的导入错误了。
  1. # 在include中添加文件名
  2. {
  3.         "compilerOptions": {...}
  4.         "include": [..., "auto-imports.d.ts", "components.d.ts"]
  5. }
复制代码
修改WebStorm设置

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

默认prettier的规则大概不得当个人习惯,可以通过添加.prettierrc.json配置文件举行修改规则
  1. {
  2.   "semi": true,         // 句尾增加分号
  3.   "tabWidth": 4,        //使用4个空格缩进
  4.   "singleQuote": true,        // 使用单引号
  5.   "printWidth": 200,        // 超过200字符换行
  6.   "arrowParens": "avoid",        // 单箭头函数不加括号
  7.   "bracketSameLine": true        // 对象前后增加空格
  8. }
复制代码
另有很多规则,可以检察prettier文档。
环境变量env

创建文件.env、.env.development、.env.production分别对应默认配置、开发环境配置、生成环境配置
  1. // .env.development
  2. VITE_SERVER = http://dev.xxx.com
  3. // .env.production
  4. VITE_SERVER = http://pro.xxx.com
复制代码
修改打包命令
  1. // package.json
  2. {
  3.         ...
  4.         "scripts":{
  5.                 ...
  6.             "build": "vite build --mode production",
  7.             "build-dev": "vite build --mode development",
  8.             ...
  9.         }
  10.         ...
  11. }
复制代码
更多有关环境变量的配置和使用,请检察vite文档。
其他标题


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4