请稍等ManixChen正在解析过程中………



Vite



layout: post
title:  Vite
tags: Vite package 
categories:Vite

1.创建一个 Vite 新项目就比较简单 ```npm install vite 使用 NPM: $ npm init vite@latest

使用 PNPM: $ pnpm create vite

npm 6.x

npm init vite@latest my-vue-app –template vue


2. select the project by type
vue
react
electron
typecript
……………………………………………………………………


3.
CSS 预处理器#
由于 Vite 的目标仅为现代浏览器,因此建议使用原生 CSS 变量和实现 CSSWG 草案的 PostCSS 插件(例如 postcss-nesting)来编写简单的、符合未来标准的 CSS。

话虽如此,但 Vite 也同时提供了对 .scss, .sass, .less, .styl 和 .stylus 文件的内置支持。没有必要为它们安装特定的 Vite 插件,但必须安装相应的预处理器依赖:
# .scss and .sass
npm install -D sass

# .less
npm install -D less

# .styl and .stylus
npm install -D stylus

4.一个完整的 Vite demo

业务项目的 vite.config.js 完整配置 import { defineConfig } from ‘vite’; import reactRefresh from ‘@vitejs/plugin-react-refresh’; import legacyPlugin from ‘@vitejs/plugin-legacy’; import { resolve } from ‘path’;

const fs = require(‘fs’); const lessToJS = require(‘less-vars-to-js’); const themeVariables = lessToJS(fs.readFileSync(resolve(__dirname, ‘./src/antd-custom.less’), ‘utf8’)); const reactSvgPlugin = require(‘vite-plugin-react-svg’);

// https://cn.vitejs.dev/config/ export default defineConfig({ base: ‘./’, root: ‘./’, resolve: { alias: { ‘react-native’: ‘react-native-web’, ‘@’: resolve(dirname, ‘src’), }, }, define: { ‘process.env.REACT_APP_IS_LOCAL’: ‘'true'’, ‘window.__CID’: JSON.stringify(process.env.cid || ‘id’), }, server: { port: 8080, proxy: { ‘/api’: { target: ‘https://stoku.test.shopee.co.id/’, changeOrigin: true, cookieDomainRewrite: { ‘stoku.test.shopee.co.id’: ‘localhost’, }, }, }, }, build: { target: ‘es2015’, minify: ‘terser’, manifest: false, sourcemap: false, outDir: ‘build’, rollupOptions: {}, }, esbuild: {}, optimizeDeps: {}, plugins: [ // viteSingleFile({ // title: ‘dynamic title’, // doesn’t work // }), reactSvgPlugin(), reactRefresh(), legacyPlugin({ targets: [ ‘Android > 39’, ‘Chrome >= 60’, ‘Safari >= 10.1’, ‘iOS >= 10.3’, ‘Firefox >= 54’, ‘Edge >= 15’, ], }), // vitePluginImp({ // libList: [ // { // libName: ‘antd’, // style: (name) => antd/es/${name}/style, // }, // ], // }), ], css: { preprocessorOptions: { less: { modifyVars: { hack: true;@import '${resolve('./src/vars.less')}';, …themeVariables, }, javascriptEnabled: true, }, }, }, });

```

5.vue2项目要从webpack 迁移到 vite 需要完成以下几步 案列1 安装vite 的依赖包

添加 vite 的配置文件 vite.config.js

修改文件,包入口 index.html 和 其他文件

运行 vite 和 vite build 根据报错,修改文件

删除无用的文件和依赖包

Mar 19, 2024