网站首页 > 博客文章 正文
vite是什么
vite一词翻译成中文:快,在尤大神介绍Vue3.0时提到了vite这个工具,其描述是这样的:针对Vue单页面组件的无打包开发服务器,可以在浏览器运行请求的vue文件。
它和我们使用的vue-cli的作用基本相同,相当于vue项目构建的升级产品。vite在开发的时候没有打包过程,ES模块源码直接传输给浏览器,浏览器使用自带的 <script module> 进行解析支持,通过 HTTP 请求进行每次 import,开发服务器拦截请求和对需要转换的代码进行转换。生产环境打包是通过rollup完成的。
源码:
vite特性及优点
1.开发服务器不需要打包操作,轻快冷服务启动
2.瞬间热更新
3.真正的按需编译,不会刷新全部DOM
开始使用
yarn create vite-app vite-demo
cd vite-demo
yarn
yarn dev
目录结构
|-node_modules -- 项目依赖包的目录
|-public -- 项目公用文件
|--favicon.ico -- 网站地址栏前面的小图标
|-src -- 源文件目录,程序员主要工作的地方
|-assets -- 静态文件目录,图片图标,比如网站logo
|-components -- Vue3.x的自定义组件目录
|--App.vue -- 项目的根组件,单页应用都需要的
|--index.css -- 一般项目的通用CSS样式写在这里,main.js引入
|--main.js -- 项目入口文件,SPA单页应用都需要入口文件
|--.gitignore -- git的管理配置文件,设置那些目录或文件不管理
|-- index.html -- 项目的默认首页,Vue的组件需要挂载到这个文件上
|-- package-lock.json --项目包的锁定文件,用于防止包版本不一样导致的错误
|-- package.json -- 项目配置文件,包管理、项目名称、版本和命令
支持TS、SCSS、JSX
ts
<script lang="ts">
// ...
</script>
scss
cd $repo
yarn add -D sass
修改相关代码
<style lang="scss">
// ...
</style>
jsx
在src下新建App.jsx
function App() {
return (<h1>页面仔小杨</h1>)
}
export default App;
修改main.js
// import App from './App.vue'
import App from './App.jsx'
vite.config.js配置
const path = require('path')
module.exports = {
/**
* 在生产中服务时的基本公共路径。
* @default '/'
*/
base: '/',
/**
* 与“根”相关的目录,构建输出将放在其中。如果目录存在,它将在构建之前被删除。
* @default 'dist'
*/
outDir: 'dist',
port: 3000,
// 是否自动在浏览器打开
open: true,
// 是否开启 https
https: false,
// 服务端渲染
ssr: false,
// 引入第三方的配置
optimizeDeps: {
include: ["moment", "echarts", "axios", "mockjs"]
},
alias: {
// 键必须以斜线开始和结束
'/@/': path.resolve(__dirname, './src')
// '/@components/': path.resolve(__dirname, './src/components')
},
proxy: {
// 如果是 /itxing 打头,则访问地址如下
'/itxing': 'http://192.168.1.95:8081',
// 如果是 /api 打头,则访问地址如下
'/api': {
target: 'http://192.168.1.99:8080/',
changeOrigin: true,
rewrite: path => path.replace(/^\/api/, '')
}
}
}
注意一下别名配置, 不可配置成
alias: {
'@': './src'
}
否则代码中使用@会报错,尤大神表示这是一个Bug,不过他已经提出了解决方案
使用别名时要使用/@/
关注公众号: 页面仔小杨 【实战干货、原创分享】
- 上一篇: 记一次系统演变过程
- 下一篇: uni-app使用经验—vue页面和html页面如何互相调用接口并传参
猜你喜欢
- 2024-11-23 uni-app使用经验—vue页面和html页面如何互相调用接口并传参
- 2024-11-23 记一次系统演变过程
- 2024-11-23 「融职培训」Web前端学习 第7章 Vue基础教程10 路由
- 2024-11-23 39、Vue-router 是干什么的,原理是什么?(必会)
- 2024-11-23 vue3-使用 Vue 的多种方式
- 2024-11-23 Vue全家桶-使用总结
- 2024-11-23 前端笔记-vuex
- 2024-11-23 vue的理解-vue源码 历史 简介 核心特性 和jquery区别 和 react对比
- 2024-11-23 Vue.js—实现前后端分离架构中前端页面搭建(二)
- 2024-11-23 Vue硬货基础篇(一)——页面模板渲染
你 发表评论:
欢迎- 08-06nginx 反向代理
- 08-06跨表插入连续的日期,sheetsname函数#excel技巧
- 08-06初中生也能学的编程,不走弯路,先用后学
- 08-06find命令的“七种武器”:远不止-name和-type
- 08-06恶意代码常见的编程方式
- 08-06kali2021ping 外网不通
- 08-06因为一个函数strtok踩坑,我被老工程师无情嘲笑了
- 08-06hadoop集群搭建详细方法
- 35℃nginx 反向代理
- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- npminstallsave (63)
- #NAME? (61)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)