首页 > 其他分享 >vite.config.js配置入门详解

vite.config.js配置入门详解

时间:2024-11-25 11:46:18浏览次数:5  
标签:npm vue config js path true vite

一,搭建vite项目

  兼容性注意:Vite 需要 Node.js 版本 14.18+,16+。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。

  通过下面的命令行可以创建指定项目名称和你想要使用的模板的vue项目

# npm 6.x
npm create vite@latest my-vue-app --template vue
 
# npm 7+, extra double-dash is needed:
npm create vite@latest my-vue-app -- --template vue
 
# yarn
yarn create vite my-vue-app --template vue
 
# pnpm
pnpm create vite my-vue-app --template vue

或者直接使用vue3的脚手架项目,vue3官方的脚手架项目是vite搭建的。

vue3的搭建过程可以在我以前的文章中查看:vue3+vant+vue-router+axios+pinia+vite框架搭建

二,vite.config.js配置

  vue3脚手架搭建之后,根目录下面会有vite.config.ts配置文件,vite的配置信息需要在这个文件里面进行。

import {defineConfig} from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
import { fileURLToPath, URL } from 'node:url';
 
 
export default defineConfig({
    plugins: [vue()],
    //静态资源服务的文件夹
    publicDir: "public",
    base: './',
    resolve:{
        alias:{
            '@': fileURLToPath(new URL('./src', import.meta.url)),
            "@_c":path.resolve('src/components'),
 
        },
        // 导入时想要省略的扩展名列表
        extensions:['.mjs','.js','.ts','.jsx','.tsx','.json'],
    },
    //预览设置  npm run build 打包之后,会生成dist文件 然后运行npm run preview;vite会创建一个服务器来运行打包之后的文件
    preview:{
        port: 4000,//端口号
        host: 'localhost',
        open: true,//是否自动打开浏览器
    },
    //开发配置  npm run dev
    server: {
        port: 3001,//端口号
        strictPort: true,//是否是严格的端口号,如果true,端口号被占用的情况下,vite会退出
        host: 'localhost',
        cors: true,//为开发服务器配置 CORS , 默认启用并允许任何源
        https: false,//是否支持http2 如果配置成true 会打开https://localhost:3001/xxx;
        open: true,//是否自动打开浏览器
        // 反向代理 跨域配置
        proxy: {
            '/api': {
                target: "https://xxxx.com/",
                changeOrigin: true,
                rewrite: (path) => path.replace(/^\/api/, '')
            }
        }
    },
    // 打包配置 npm run build
    build:{
        //指定输出路径
        outDir: "dist",
        //生成静态资源的存放路径
        assetsDir: "assets",
        //小于此阈值的导入或引用资源将内联为 base64 编码,以避免额外的 http 请求。设置为 0 可以完全禁用此项
        assetsInlineLimit: 4096,
        //启用/禁用 CSS 代码拆分
        cssCodeSplit: true,
        //构建后是否生成 source map 文件
        sourcemap: false,
        //自定义底层的 Rollup 打包配置
        rollupOptions: {
            input:{//可以配置多个,表示多入口
                index:path.resolve(__dirname,"index.html"),
                // project:resolve(__dirname,"project.html")
            },
            output:{
                // chunkFileNames:'static/js/[name]-[hash].js',
                // entryFileNames:"static/js/[name]-[hash].js",
                // assetFileNames:"static/[ext]/name-[hash].[ext]"
            }
        },
        //默认情况下,若 outDir 在 root 目录下,则 Vite 会在构建时清空该目录。
        emptyOutDir: true,
        //chunk 大小警告的限制
        chunkSizeWarningLimit: 500
    }
})

 

标签:npm,vue,config,js,path,true,vite
From: https://www.cnblogs.com/czhowe/p/18567255

相关文章

  • 「Java EE开发指南」如何使用Visual JSF编辑器设计JSP?(二)
    VisualJSFDesigner的目标是使创建JSF应用程序的特定于组件的工作更容易可视化,在本教程中,您将使用可视化设计器设计JSF登录页面,将学习如何:创建一个JSF项目创建一个新的JSF页面设计JSF页面该功能在MyEclipse中可用。MyEclipsev2024.1离线版下载MyEclipse技术交流群:74233......
  • JS的for循环和forEach有什么区别?
    JavaScript中的 for 循环和 forEach 方法虽然都可以用来遍历数组,但它们之间存在一些关键的区别:1.语法和用法for循环:是传统的方法,使用最广泛的循环结构。语法相对复杂,需要手动管理循环变量(如 i)、起始值、结束条件以及迭代表达式。示例:for(leti=0;i<array.......
  • 带排序功能的js masonry瀑布流插件
    在线预览  下载 sortableJs是一款带排序功能的jsmasonry瀑布流插件。sortableJs能够使元素以卡片形式显示,并以masonry瀑布流方式进行布局,通过点击分类按钮,可以将卡片按指定的方式动态排序。  使用方法在页面中引入sortable.min.css和sortable.min.js文件。<link......
  • 说说你对js包装对象的理解
    在JavaScript中,基本类型(primitivetypes)例如数字、字符串、布尔值、null和undefined,本身并不是对象。然而,为了方便开发者访问属性和方法,JavaScript提供了一种机制,当我们试图访问基本类型的属性或方法时,它会自动创建一个对应的包装对象(wrapperobject)。这个包装对象是临时的......
  • 举例说明js关闭当前窗口有哪些方法?
    JS关闭当前窗口的方法有很多种,但并非所有方法都universallyreliable,因为浏览器安全策略的限制。以下是一些常见方法,并附带其局限性:1.window.close():说明:这是关闭窗口最常用的方法。局限性:只能关闭通过JavaScript代码打开的窗口。如果窗口不是由JavaScript打开的,......
  • 保护js代码的方式有哪些?分别说说他们的原理是什么?
    保护JavaScript代码的方式有很多种,但没有一种是绝对安全的。攻击者如果有足够的决心和资源,总有可能破解你的代码。所以,保护JavaScript代码的目标是提高攻击的门槛,使其变得更加困难和耗时,而不是完全阻止逆向工程。以下是一些常见的JavaScript代码保护方法,以及它们的原理:1.......
  • 如何使用js来截图?怎样截可见区域和整个页面?
    在前端使用JavaScript进行截图,主要依赖于html2canvas这个库。它可以将DOM元素渲染成Canvas,然后你可以将Canvas转换为图片。1.使用html2canvas截取可见区域:importhtml2canvasfrom'html2canvas';constcaptureVisibleArea=()=>{html2canvas(document.body......
  • node.js毕设球类运动赛事组织平台 程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于球类运动赛事组织的研究,现有研究主要以赛事的商业运营、运动员表现等为主,专门针对球类运动赛事组织平台构建的研究较少。在国内外,赛事组织大多依赖......
  • node.js毕设基于微信小程序的运动会信息管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于运动会信息管理系统的研究,现有研究主要以传统的桌面应用程序或网页应用为主1。专门针对微信小程序这种轻量级、便捷性高且用户基础广泛的平台进行运......
  • 【web】Gin+Go-Micro +Vue+Nodejs+jQuery+ElmentUI 用户模块之vue登录开发以及接口联
    在现代Web应用中,实现用户登录模块是一个关键功能。本文将分为初级、中级、高级阶段,详细说明如何使用Vue、ElementUI进行登录开发,并与Gin、Go-Micro、Node.js进行接口联调。初级用法介绍在初级阶段,主要关注于使用Vue和ElementUI创建一个简单的登录界面,并通过Node.js后端进......