首页 > 其他分享 >第6章 Vite的集成和使用

第6章 Vite的集成和使用

时间:2024-07-10 20:27:35浏览次数:15  
标签:集成 npm app js Vite 使用 my vite

本章将探讨如何将 Vite 集成到不同类型的项目中,以及如何确保其与各种技术和工具的兼容性。通过具体的实例和代码示例,你将学习到 Vite 的强大和灵活性。

6.1 与常用框架的集成

6.1.1 与 React 的集成

Vite 可以非常容易地与 React 项目集成。以下是一个简单的步骤来创建一个 React 项目并使用 Vite 构建:

初始化项目
npm create vite@latest my-react-app -- --template react
cd my-react-app
npm install
项目结构

项目结构如下:

my-react-app/
├── node_modules/
├── public/
│   └── favicon.ico
├── src/
│   ├── App.jsx
│   ├── main.jsx
│   └── index.css
├── .gitignore
├── index.html
├── package.json
└── vite.config.js
配置文件 (vite.config.js)
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()]
})

6.1.2 与 Vue 的集成

同样,Vite 也能非常方便地集成到 Vue 项目中。

初始化项目
npm create vite@latest my-vue-app -- --template vue
cd my-vue-app
npm install
项目结构

项目结构如下:

my-vue-app/
├── node_modules/
├── public/
│   └── favicon.ico
├── src/
│   ├── App.vue
│   ├── main.js
│   └── index.css
├── .gitignore
├── index.html
├── package.json
└── vite.config.js
配置文件 (vite.config.js)
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()]
})

6.1.3 与 Svelte 的集成

Vite 同样支持 Svelte 项目,以下是集成步骤:

初始化项目
npm create vite@latest my-svelte-app -- --template svelte
cd my-svelte-app
npm install
项目结构

项目结构如下:

my-svelte-app/
├── node_modules/
├── public/
│   └── favicon.ico
├── src/
│   ├── App.svelte
│   ├── main.js
│   └── index.css
├── .gitignore
├── index.html
├── package.json
└── vite.config.js
配置文件 (vite.config.js)
import { defineConfig } from 'vite'
import { svelte } from '@sveltejs/vite-plugin-svelte'

export default defineConfig({
  plugins: [svelte()]
})

6.2 TypeScript 支持

Vite 原生支持 TypeScript。要使用 TypeScript,只需在项目中添加相应的配置文件。

TypeScript 项目初始化

npm create vite@latest my-ts-app -- --template vanilla-ts
cd my-ts-app
npm install
项目结构
my-ts-app/
├── node_modules/
├── public/
│   └── favicon.ico
├── src/
│   ├── main.ts
│   └── index.css
├── .gitignore
├── index.html
├── package.json
├── tsconfig.json
└── vite.config.js

配置文件 (vite.config.js)

对于 TypeScript 项目,不需要特别配置,默认模板已经包含了必要的配置。

import { defineConfig } from 'vite'

export default defineConfig({
  // TypeScript support is built-in
})

6.3 CSS 预处理器

Vite 支持各种 CSS 预处理器,如 Sass、Less 和 Stylus。

使用 Sass

安装依赖
npm install -D sass
使用示例

src 目录中创建一个 .scss 文件:

/* src/styles.scss */
$primary-color: #42b983;

body {
  color: $primary-color;
}

在主入口文件中引入该样式:

import './styles.scss'

使用 Less

安装依赖
npm install -D less
使用示例

创建一个 .less 文件:

/* src/styles.less */
@primary-color: #42b983;

body {
  color: @primary-color;
}

在主入口文件中引入该样式:

import './styles.less'

使用 Stylus

安装依赖
npm install -D stylus
使用示例

创建一个 .styl 文件:

/* src/styles.styl */
primary-color = #42b983

body
  color primary-color

在主入口文件中引入该样式:

import './styles.styl'

6.4 PostCSS 与 CSS Modules

Vite 内置支持 PostCSS 和 CSS Modules。

使用 PostCSS

安装依赖
npm install -D postcss postcss-preset-env
配置文件

在项目根目录创建 postcss.config.js

module.exports = {
  plugins: {
    'postcss-preset-env': {
      stage: 0,
    },
  },
}

使用 CSS Modules

在 Vite 项目中,CSS Modules 默认支持,只需在 CSS 文件名中加入 .module 即可。

示例

创建一个 styles.module.css 文件:

/* src/styles.module.css */
.title {
  color: blue;
}

在组件中使用:

import styles from './styles.module.css'

function App() {
  return (
    <div>
      <h1 className={styles.title}>Hello, Vite with CSS Modules!</h1>
    </div>
  )
}

export default App

6.5 与传统项目的集成

Vite 也可以集成到传统的项目中,逐步替代旧的构建工具。

示例:集成到传统的 PHP 项目

假设你有一个传统的 PHP 项目,目录结构如下:

my-php-app/
├── public/
│   ├── index.php
│   └── assets/
├── src/
│   └── main.js
└── vite.config.js
配置 Vite
import { defineConfig } from 'vite'

export default defineConfig({
  root: 'src',
  build: {
    outDir: '../public/assets',
  }
})
启动 Vite
npm run dev
在 PHP 文件中引入资源
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My PHP App</title>
    <script type="module" src="/assets/main.js"></script>
</head>
<body>
    <h1>Hello, Vite with PHP!</h1>
</body>
</html>

这样,你就可以在传统的 PHP 项目中使用 Vite 进行开发和构建了。

标签:集成,npm,app,js,Vite,使用,my,vite
From: https://blog.csdn.net/imdeity/article/details/140213254

相关文章

  • 第7章 Vite的测试和调试
    测试和调试是软件开发过程中的重要环节。通过合理的测试策略和调试技巧,可以大幅提高代码的质量和稳定性。本章将介绍如何在Vite项目中进行单元测试、集成测试和端到端测试,以及常用的调试方法和工具。1单元测试单元测试是对最小可测试单元进行验证的测试,通常用于测试......
  • PHP环境集成面板使用教程
    “让天下没有难配的服务器环境!-phpStudy”phpStudy是一个PHP开发环境集成包,可用在本地电脑或者服务器上,该程序包集成最新的PHP/MySql/Apache/Nginx/Redis/FTP/Composer,一次性安装,无须配置即可使用,非常方便、好用!phpstudy2019年新推出的V8版本全新界面,支持最新php、mysql版......
  • uniapp-Java使用AES加密解密
    操作前uniapp需要安装  npminstallcrypto-js 在需要使用的界面加入 importCryptoJSfrom'crypto-js' java端<!--springsecurity安全认证--><dependency><groupId>org.springframework.boot</groupId>......
  • Postman与世界相连:集成第三方服务的全面指南
    ......
  • C++中各类常用算法的总结以及使用
    1.常用算法文章目录1.常用算法1.常用遍历算法1.for_each2.transform2.常用查找算法1.find2.find_if3.adjacent_find4.binary_search5.count6.count_if3.常用排序算法1.sort2.random_shuffle3.merge4.reverse4.常用拷贝和替换算法1.copy2.replace3.repla......
  • Oracle 使用append对insert大批量数据进行优化
    append介绍/+append/1、概念:append属于directinsert,归档模式下appendtablenologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo。2、优势:使用append,一是减少对空间的搜索;二是有可能减少redolog的产生。所以append方式会快很多,一......
  • springboot中使用人大金仓
    准备首先要安装有人大金仓数据库然后去人大金仓官网的下载中心的接口驱动里面,下载对应的驱动和框架方言驱动下载成功后如图和数据库版本一致一般使用驱动就行框架方言下载成功后如图版本需要自己确认根据需要使用pom中依赖下载的jar方式一把下载好的jar包放到本地仓库......
  • 使用Java9 Flow API进行Reactive Programming
    importjava.util.concurrent.Flow;importjava.util.concurrent.Flow.Publisher;importjava.util.concurrent.Flow.Subscriber;publicclassReactiveExample{publicstaticvoidmain(String[]args){//创建一个发布者,发布一系列的数字Publisher......
  • QtCreator使用Heob进行程序内存泄漏检测
    在Windows下,我们可以在QtCreator里使用Heob进行内存泄漏检测。下载到这里下载最新版的heob:【heob-heapobserver】下载后解压到某个文件夹下QtCreator使用heob新建一个Qt工程,然后写两句绝对导致内存泄漏的语句,并且要在profile或者debug模式下编译。然后选择Analyze--》......
  • Python爬虫:BeautifulSoup的基本使用方法!
    1.简介BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索、修改分析“标签树”等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。BeautifulSoup自动将输入文档转换为Unicode编码,输出文......