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

【项目】Vue3+TS CMS 基本搭建相关配置

💭💭

✨:Vue3 + TS

💟:东非不开森的主页

💜: today beginning💜💜

🌸: 如有错误或不足之处,希望可以指正,非常感谢😉

基本搭建

    • 一、基本搭建
      • 1.1.搭建
      • 1.2.ts插件
      • 1.3.editorconfig
      • 1.4.prettier
      • 1.5.eslint
      • 1.6.css
      • 1.7.配置路由
      • 1.8.axios
      • 1.9.pinia
      • 1.10.开发环境与生产环境区分
      • 1.11.集成element-plus

一、基本搭建

1.1.搭建

基于vite

npm init vue@latest

npm run dev

在这里插入图片描述

1.2.ts插件

  • 安装volar和volar+TS插件:

在这里插入图片描述
在这里插入图片描述

开发vue的过程中,默认是不识别我们的.vue文件的,那么我们就需要对其进行文件的声明;

配置vue文件模块:

  • .d.ts 文件,它是用来做类型的声明(declare)(它仅仅用来做类型检测,告知typescript我们有哪些类型;)

在这里插入图片描述

defineComponent 的作用

  • defineComponent 是 Vue 3 推出的一个全新 API ,可用于对 TypeScript 代码的类型推导,帮助开发者简化掉很多编码过程中的类型声明。

官网:地址
在这里插入图片描述

在这里插入图片描述

1.3.editorconfig

.editorconfig

EditorConfig 有助于为不同 IDE 编辑器上处理同一项目的多个开发人员维护一致的编码风格。

root = true

[*] # 表示所有文件适用
charset = utf-8 # 设置文件字符集为 utf-8
indent_style = space # 缩进风格(tab | space)
indent_size = 2 # 缩进大小
end_of_line = lf # 控制换行类型(lf | cr | crlf)
trim_trailing_whitespace = true # 去除行尾的任意空白字符
insert_final_newline = true # 始终在文件末尾插入一个新行

[*.md] # 表示仅 md 文件适用以下规则
max_line_length = off
trim_trailing_whitespace = false

在这里插入图片描述

在这里插入图片描述

1.4.prettier

prettier
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • useTabs:使用tab缩进还是空格缩进,选择false;
  • tabWidth:tab是空格的情况下,是几个空格,选择2个;
  • printWidth:当行字符的长度,推荐80,也有人喜欢100或者120;
  • singleQuote:使用单引号还是双引号,选择true,使用单引号;
  • trailingComma:在多行输入的尾逗号是否添加,设置为 none,比如对象类型的最后一个属性后面是否加一个,;
  • semi:语句末尾是否要加分号,默认值true,选择false表示不加;
{
  "useTabs": false,
  "tabWidth": 2,
  "printWidth": 80,
  "singleQuote": true,
  "trailingComma": "none",
  "semi": false
}

1.5.eslint

eslint
在这里插入图片描述
解决eslint和prettier冲突的问题
在这里插入图片描述
prettier忽略文件
在这里插入图片描述

1.6.css

normalize.css

npm install less -D

在这里插入图片描述
在这里插入图片描述

1.7.配置路由

npm install vue-router

在这里插入图片描述
在这里插入图片描述

官网:地址
在这里插入图片描述

1.8.axios

axios

npm install axios

然后封装网络请求
blablabla…

1.9.pinia

npm install pinia

在这里插入图片描述

1.10.开发环境与生产环境区分

  1. 直接两种环境手动切换
export const BASE_URL = 'http://xxxx.dev:8000'
export const BASE_URL = 'http://xxx.prod:8000'
  1. 代码逻辑判断, 判断当前环境

vite本身提供的环境变量

  • import.meta.env.MODE: {string} 应用运行的模式。
  • import.meta.env.PROD: {boolean} 应用是否运行在生产环境
  • import.meta.env.DEV: {boolean} 应用是否运行在开发环境 (永远与 import.meta.env.PROD相反)。
  • import.meta.env.SSR: {boolean} 应用是否运行在 server 上。
let BASE_URL = ""
if (import.meta.env.PROD) {
  // 生产环境
  BASE_URL = "http://xxxprod:8000"
} else {
  // 开发环境
  BASE_URL = "http://xxxdev:5000"
}
  1. 通过创建.env文件直接创建变量
    在这里插入图片描述
    以 VITE_ 为前缀的变量才会暴露给经过 vite 处理的代码。

1.11.集成element-plus

官网:地址

自动按需引入插件会生成两个ts文件
在这里插入图片描述
tsconfig.json中写入
在这里插入图片描述

相关文章:

  • KDHX-8700无线高压核相相序表
  • AMD发布23.2.1 新驱动 支持开年新作《魔咒之地》
  • JVM类加载机制
  • ACM第一周---周训---题目合集.
  • Java网络编程之UDP和TCP套接字
  • 最最普通程序员,如何利用工资攒够彩礼,成为人生赢家
  • 从事架构师岗位快2年了,聊一聊我对架构的一些感受和看法
  • Windows11去掉不满足系统要求的提示水印
  • 【算法自由之路】 贪心算法
  • HTTP协议——详细讲解
  • java中volatile与synchronized的区别,volatile为什么不能保证原子性
  • 01背包问题 AcWing(JAVA)
  • 植物大战 List——C++
  • 【计算机网络】传输层TCP协议
  • 牛客教你用雇主品牌力抢人才!附6类校招玩法
  • 《深入 React 技术栈》
  • 【技术性】Search知识
  • android图片蒙层
  • CEF与代理
  • ES6--对象的扩展
  • express + mock 让前后台并行开发
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JAVA 学习IO流
  • js数组之filter
  • Laravel 实践之路: 数据库迁移与数据填充
  • laravel 用artisan创建自己的模板
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Python中eval与exec的使用及区别
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Vue.js源码(2):初探List Rendering
  • vue2.0项目引入element-ui
  • 关于Flux,Vuex,Redux的思考
  • 使用putty远程连接linux
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (JS基础)String 类型
  • (安卓)跳转应用市场APP详情页的方式
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)Neo4j下载安装以及初次使用
  • (转载)Google Chrome调试JS
  • .apk 成为历史!
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net 7 上传文件踩坑
  • .NET NPOI导出Excel详解
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET使用存储过程实现对数据库的增删改查
  • /etc/motd and /etc/issue
  • @ComponentScan比较
  • @private @protected @public
  • [1]-基于图搜索的路径规划基础
  • [100天算法】-x 的平方根(day 61)