为了账号安全,请及时绑定邮箱和手机立即绑定

Vite入门:新手必读指南

概述

本文详细介绍了 Vite 的基本概念、安装配置、基础使用方法以及常用配置和进阶功能,帮助读者快速掌握 Vite入门,享受其带来的快速开发体验。

Vite简介

Vite是什么

Vite 是一个由 Vue.js 核心团队成员开发的现代前端构建工具。它旨在替代 Webpack,提供更快的开发体验和更简洁的配置。Vite 基于 ES 模块解析,而非传统的打包工具,这使得它在启动时几乎无须等待整个项目被编译。

Vite的优势

  1. 启动速度快:Vite 采用基于 ES 模块和服务器端按需编译的技术,使得项目启动时间大大缩短。例如,一个大型 Vue 项目在使用 Vite 时,启动时间可以缩减到秒级。

  2. 代码热更新:Vite 提供了代码热更新功能,使得开发者在更改代码后,浏览器可以自动刷新相应部分,无需手动刷新整个页面,极大地提升了开发效率。

  3. 开箱即用:Vite 提供了一些预设配置,使得开发者可以很快地开始编码,而无需配置复杂的构建选项。例如,Vite 支持 JavaScript、TypeScript、CSS、SCSS 和其他多种语言的预设。

  4. 低内存消耗:由于 Vite 基于 ES 模块解析,其在内存方面的消耗远低于传统的打包工具 Webpack。例如,在开发过程中,Vite 仅编译需要的部分代码,而非整个项目代码,减少了内存占用。

Vite与传统构建工具的区别

  • 解析方式不同:传统构建工具如 Webpack 和 Rollup 依赖于构建时的模块解析,而 Vite 则依赖于浏览器原生的 ES 模块解析。

  • 开发体验不同:传统构建工具在启动时需要编译整个项目,而 Vite 只需编译需要的部分代码,因此启动时间更快,开发体验更佳。

  • 配置复杂度:传统构建工具往往需要复杂的配置来达到期望的行为,而 Vite 提供了开箱即用的体验,使得开发者可以更快地上手。

安装与配置Vite

安装Node.js

  1. 访问 Node.js 官方网站 (https://nodejs.org/)
  2. 下载并安装最新的长期支持(LTS)版本
  3. 安装完成后,可以在命令行中执行以下命令来验证安装是否成功
    node -v
    npm -v

安装Vite

  1. 安装 Vite 可以通过 npm 或 yarn 完成。以下是使用 npm 安装 Vite 的示例代码:
    npm install vite -g
  2. 如果你使用的是 yarn,可以使用以下命令:
    yarn global add vite

初始化Vite项目

  1. 使用 create-vite 命令来创建一个新的项目。在命令行中执行:
    create-vite my-vite-project
  2. 接下来将根据提示选择项目类型,例如:

    • vue
    • react
    • preact
    • lit
    • solid
    • vanilla
    • vue-ts
    • react-ts
    • preact-ts
    • lit-ts
    • solid-ts
    • vanilla-ts
  3. 按照提示,选择项目类型后,Vite 将自动创建项目文件结构与基本文件。

配置Vite项目

Vite 项目的基本配置文件是 vite.config.js。以下是部分配置项的示例:

  1. 公共基础路径:设置基础路径,用于开发服务器和构建输出。

    export default {
     base: '/my-vite-app/',
    };
  2. 开发服务器配置

    export default {
     server: {
       port: 5000, // 设置端口号
       host: '0.0.0.0', // 设置监听地址
       hmr: true, // 启动热更新
     },
    };
  3. 构建配置
    export default {
     build: {
       rollupOptions: {
         input: 'src/main.js', // 入口文件
         output: {
           dir: 'dist', // 输出目录
           entryFileNames: 'assets/[name].[hash].js', // 文件名模式
           chunkFileNames: 'assets/[name].[hash].js', // 模块文件名模式
         },
       },
     },
    };

Vite基础使用教程

创建HTML和CSS文件

  1. HTML文件:在 src 目录下创建一个 index.html 文件,基本结构如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>My Vite App</title>
     <link rel="stylesheet" href="/src/styles.css">
    </head>
    <body>
     <div id="app">
       <h1>Hello, Vite!</h1>
     </div>
     <script type="module" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="/src/main.js"></script>
    </body>
    </html>
  2. CSS文件:在 src 目录下创建一个 styles.css 文件,基本样式如下:

    body {
     font-family: Arial, sans-serif;
     background-color: #f0f0f0;
    }
    
    h1 {
     color: #333;
     text-align: center;
    }
  3. JavaScript文件:在 src 目录下创建一个 main.js 文件,基本结构如下:
    document.getElementById('app').innerHTML = '<h1>Hello, JavaScript!</h1>';

使用JavaScript或TypeScript

  1. JavaScript:创建一个 src/main.js 文件,基本结构如下:

    document.getElementById('app').innerHTML = '<h1>Hello, JavaScript!</h1>';
  2. TypeScript:如果选择 TypeScript,可以在项目初始化时通过 create-vite 指令选择 vue-tsreact-ts 等类型。创建一个 src/main.ts 文件,基本结构如下:
    document.getElementById('app').innerHTML = '<h1>Hello, TypeScript!</h1>';

文件引入与模块化

在 Vite 中,可以通过 ES 模块语法来引入文件。例如,引入 CSS 文件和 JavaScript 文件可以分别使用如下方式:

  1. 引入 CSS 文件

    import './styles.css';
  2. 引入 JavaScript 模块
    import './main.js';

Vite常用配置详解

配置开发服务器

开发服务器配置主要在 vite.config.js 中设置。例如,设置端口和代理选项:

export default {
  server: {
    port: 3000, // 设置端口号
    proxy: {
      '/api': 'http://localhost:3000', // 设置代理
    },
  },
};

配置构建选项

构建选项同样在 vite.config.js 中设置。例如,设置输出目录和文件名模式:

export default {
  build: {
    rollupOptions: {
      input: 'src/main.js',
      output: {
        dir: 'dist',
        entryFileNames: 'assets/[name].[hash].js',
        chunkFileNames: 'assets/[name].[hash].js',
      },
    },
  },
};

配置环境变量

环境变量可以在根目录下创建 env 文件夹,分别放置 .env.env.production.env.development 文件,用于开发和生产环境的不同配置。例如,.env 文件内容如下:

VITE_APP_NAME=My Vite App
VITE_API_URL=http://localhost:3000

Vite实战:构建一个简单的应用

定义项目结构

项目的基本结构如下:

my-vite-app/
├── src/
│   ├── components/
│   │   └── Header.jsx
│   ├── index.html
│   ├── main.js
│   └── styles.css
├── node_modules/
├── public/
├── package.json
└── vite.config.js

编写组件代码

假设我们使用 React 构建一个简单的应用,首先创建一个 Header 组件:

// src/components/Header.jsx
import React from 'react';

const Header = () => {
  return (
    <header>
      <h1>欢迎使用 Vite 应用</h1>
    </header>
  );
};

export default Header;

main.js 文件中引入并使用 Header 组件:

// src/main.js
import React from 'react';
import ReactDOM from 'react-dom';
import Header from './components/Header.jsx';
import './styles.css';

ReactDOM.render(<Header />, document.getElementById('app'));

运行与调试项目

  1. 在命令行中,进入项目目录,运行:
    npm run dev
  2. 打开浏览器,访问 http://localhost:3000,可以查看应用的运行效果。
  3. 进行调试时,可以在浏览器中使用 Chrome 开发者工具(F12)进行调试。

Vite进阶功能介绍

代码分割

代码分割是现代前端应用构建中的一项重要技术,用于减少初始加载时间。Vite 支持代码分割,可以通过动态导入实现:

// src/main.js
import React from 'react';
import ReactDOM from 'react-dom';
import Header from './components/Header.jsx';
import './styles.css';

ReactDOM.render(
  <React.Suspense fallback={<div>Loading...</div>}>
    <Header />
  </React.Suspense>,
  document.getElementById('app')
);

静态资源处理

静态资源处理包括图片、字体等文件的引入和处理。例如,引入图片:

// src/components/Header.jsx
import React from 'react';
import logo from './logo.png';

const Header = () => {
  return (
    <header>
      <img src={logo} alt="Logo" />
      <h1>欢迎使用 Vite 应用</h1>
    </header>
  );
};

export default Header;

插件扩展

Vite 支持通过插件来进行扩展,例如使用 vite-plugin-pug 插件来处理 Pug 文件。安装插件:

npm install vite-plugin-pug

然后在 vite.config.js 中配置插件:

import { defineConfig } from 'vite';
import pug from 'vite-plugin-pug';

export default defineConfig({
  plugins: [pug()]
});

总结

本文详细介绍了 Vite 的入门知识、安装配置、基础使用、常用配置、实战应用以及进阶功能。通过学习本文,读者可以掌握如何使用 Vite 构建现代的前端应用,享受其带来的快速开发体验。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消