位置: IT常识 - 正文

vite.config.js详细配置。(viwer.js)

编辑:rootadmin
vite.config.js详细配置。

推荐整理分享vite.config.js详细配置。(viwer.js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:viser.js,vis.js network,vite config,viwer.js,vite js,commonjs,commonjs,vite config,内容如对您有帮助,希望把文章链接给更多的朋友!

Vue3+vite

vite和webpack区别? 1.vite服务器启动速度比webpack快,由于vite启动的时候不需要打包,也就无需分析模块依赖、编译,所以启动速度非常快。当浏览器请求需要的模块时,再对模块进行编译,这种按需动态编译的模式,极大缩短了编译时间,当项目越大,文件越多时,vite的开发时优势越明显。vite热更新比webpack快,vite在HRM方面,当某个模块内容改变时,让浏览器去重新请求该模块即可,而不是像webpack重新将该模块的所有依赖重新编译。

2.Vite的使用简单,只需执行初始化命令,就可以得到一个预设好的开发环境,开箱即获得一堆功能,包括:CSS预处理、html预处理、异步加载、分包、压缩、HMR等。使用复杂度介于Parcel和Webpack的中间,只是暴露了极少数的配置项和plugin接口,既不会像Parcel一样配置不灵活,又不会像Webpack一样需要了解庞大的loader、plugin生态,灵活适中、复杂度适中。

3.vite 是一个基于 Vue3 单文件组件的非打包开发服务器,它做到了本地快速开发启动: 快速的冷启动,不需要等待打包操作; 即时的热模块更新,替换性能和模块数量的解耦让更新飞起; 真正的按需编译,不再等待整个应用编译完成,这是一个巨大的改变。

WebPack : webpack是基于模块化的打包(构建)工具,通过一个入口文件递归出所有模块的依赖关系,经过一系列的过程(压缩,合并),最终生成运行的代码。

vite.config.js详细配置。(viwer.js)

webpack的安装: 通过npm install安装 webpack ,webpack-cli webpack:核心包,包含webpack构建过程中要用到的所有api webpack-cli:提供一个简单的cli命令来调用webpack核心包的api,来完成构建过程 安装推荐使用本地安装,webpack使每个项目都使用自己的webpack版本进行构建。

npm install -D webpack webpack-cli

webpack使用: webpack默认从src文件夹下的index.js读取入口文件,打包到dist文件夹下的的main.js中 设置开发环境和生成环境

"scripts": { "dev": "webpack --mode=development", "build":"webpack --mode=production" },

webpack兼容性: webpack支持CommonJs和Es6模块化的混合使用,也就是说你是commonJs导出的,可以es6导入。

es6导出 ,commonJs导入: commonJs导出,es6导入

vite.config.js

//简洁版import { defineConfig } from 'vite';export default defineConfig(({command,mode})=>{ return { ... //各项配置 } });

当以命令方式运行 vite 时,vite 会自动解析项目根目录下 vite.config.js 的文件。配置不全时,在开发环境下运行都是正常的,但是打包上线的时候就会出现各种问题。如:

1.假设不配置 base 时,打包之后,访问时出现白屏。 2.alias 不配置的时候,每次引入文件需要找根目录,比较麻烦。

以下是 vite.config.js 的更多常用参数配置以及意义:

//详细版import { defineConfig, loadEnv } from 'vite' // 帮手函数,这样不用 jsdoc 注解也可以获取类型提示import path from 'path'import createVitePlugins from './vite/plugins'// https://vitejs.dev/config/export default defineConfig(({command, mode })=>{ // 获取.env文件里定义的环境变量const env = loadEnv(mode, process.cwd());//console.log(env); //变量在命令行里打印出来//.env文件中的环境变量必须以VITE_为前缀,否则无法引用成功const {VITE_APP_ENV} = envreturn{ //项目部署在主域名的子文件使用,例如http://localhost:3000/myvite/。不填默认就是/ base: VITE_APP_ENV==='字段名' ? '/' : '/', // 例子:env.VITE_APP_BASE_URL || '/' plugins: createVitePlugins(env, command === 'build'), resolve: { alias: { //别名配置 "~": path.resolve(__dirname, "./"), //配置的别名 "@": path.resolve(__dirname, "./src"), }, //共享配置 https://cn.vitejs.dev/config/shared-options.html#resolve-extensions extensions : ['.mjs', '.js', '.mts', '.ts', '.jsx', '.tsx', '.json','.vue'] }, //本地运行配置,以及反向代理配置 server: { port: "9000",//端口 // host: "localhost",//ip地址例如192.168.1.177 host:true, open: true,//服务启动时自动在浏览器中打开应用 // 反向代理配置 proxy: { //配置多个代理 '/dev-api': { target: "https://xxxx.com/",//例子:http://192.168.1.177:8080 或测试服务器https://xxxx.com changeOrigin: true,///设置访问目标地址允许跨域 rewrite: (p) => p.replace(/^\/dev-api/, '') }, '/prod-api': { target: "https://xxxx.com/", changeOrigin: true,///设置访问目标地址允许跨域 rewrite: (p) => p.replace(/^\/prod-api/, '') }, } }, css: { // postCss 共享配置 postcss: { plugins: [//扩展插件 { postcssPlugin: 'internal:charset-removal', AtRule: {//大写AtRule charset: (atRule) => { //char set字符集 if (atRule.name === 'charset') { atRule.remove();//删除 } } } } ] }, }, }})

开发时,如果需要代理多个服务器,场景为后端接口分布在不同开发同事本机上,开发时通过选项写法代理无缝对接多个服务器。

// vite.config.ts 代理配置 proxy: { // 代理配置 '/user': { target: 'https://www.baidu.com', changeOrigin: true, rewrite: (path) => path.replace(/^\/user/, '') }, '/cus': { target: 'https://www.taobao.com', changeOrigin: true, rewrite: (path) => path.replace(/^\/cus/, '') } },//css 共享配置-扩展的插件 例子: css: { postcss: { plugins: [px2rem(px2remOptions)] } }

vite官网: https://cn.vitejs.dev/config/shared-options.html#css-postcss 扩展知识: 记录一下,少走弯路!!!

本文链接地址:https://www.jiuchutong.com/zhishi/297487.html 转载请保留说明!

上一篇:音频(一)时域图、 频谱图 Spectrum(音频的时域波形)

下一篇:【TypeScript】TS入门(一)(typescript instanceof)

  • 小规模纳税人开专票税率是1%还是3%
  • 进口货物的完税价格不包括
  • 个税子女教育扣除需要提供什么资料
  • 金蝶k3费用发票怎么做
  • 商品类别发票能抵扣吗
  • 企业之间的借款利息计入什么科目
  • 城建税和教育附加税
  • 企业汇算清缴时允许税前扣除的工资是什么
  • 销售预付卡的成本是什么
  • 分月计提利息会计分录
  • 预付卡充值可以退吗
  • 冲以前年度暂估
  • 计提房屋折旧会计分录
  • 折扣零售商是什么意思
  • 用支票结清运杂费的会计分录
  • 社保费用可以税前扣除吗
  • 发票显示不抵扣什么意思
  • 租赁房屋的装修
  • 纳税人签字
  • 增值税税率简并纳税
  • 初级如何备考
  • 银行对账单不平衡
  • 汽车修理费抵扣怎么做账
  • 临时使用自建商品房是否需要缴纳房产税?
  • 企业所得税发票虚假成本调减当年的吗
  • 核定征收和查账征收,交的税一样吗
  • win7怎么输入命令
  • phpadmin官网
  • 日志文件的名称和位置是什么
  • 苹果客服人工24小时
  • php面向对象是什么意思
  • win10系统损坏开不了机
  • pdf.js原理
  • win11更新卡主
  • phpinclude
  • 国有控股公司改制
  • 食堂现金管理办法
  • 软件研发支出计入什么科目
  • 分割sw
  • linuxshel
  • 不开票销售收入怎么做账务处理
  • ps制作折扇效果图
  • 利息收入属于什么要素
  • 零申报企业所得税怎么申报
  • 火车及机票退票扣多少钱
  • opengl 图形
  • javascript前端开发案例教程源码
  • MYSQL数据库设计与应用第二版
  • 购固定资产怎么入账
  • 公司员工兼职开公司
  • MySQL中使用命令行查看二进制文件
  • 劳务报酬所得如何申报
  • 预存电费和后付费哪个好
  • 异地学校
  • 提取银行存款利息分录
  • 发票 抬头个人
  • 投资款项是什么意思
  • 一般纳税人开错税率严重吗
  • sql server 批量删除
  • microsoft window vista
  • fedora gnome
  • win7系统如何更改默认浏览器
  • win80x0000007b修复
  • xp系统强制删除文件
  • xp系统访问局域网
  • centos smb服务
  • unity进度条有百分比代码
  • 启用opengl的文档窗口
  • java线程池创建
  • flask开发实例
  • angularjs1.5
  • python遍历列表判断相同元素
  • Javascript字符串奇数位替换
  • 湖南历年社保缴费
  • 电子税务局报表报送在哪里
  • 进项税跨月转出
  • 消费税征税环节
  • 从事农业种植是干什么的
  • 如何撤销工商注册登记
  • 税务局诉讼
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设