当前位置: 首页 > news >正文

【Vite】控制打包结构

配置 vite.config.json 文件:

import { defineConfig } from "vite";export default defineConfig({// ...build: {rollupOptions: {output: {entryFileNames: "js/[name]-[hash].js",chunkFileNames: "js/[name]-[hash].js",assetFileNames(chunkInfo) {// CSS 文件if (chunkInfo.name?.endsWith(".css")) {return "css/[name]-[hash][extname]";}// 字体文件if ([".woff", ".woff2", ".ttf", ".eot"].some((ext) =>chunkInfo.name?.endsWith(ext))) {return "font/[name]-[hash][extname]";}// 图片文件if ([".png", ".jpg", ".jpeg", ".gif", ".svg", ".webp"].some((ext) => chunkInfo.name?.endsWith(ext))) {return "imgs/[name]-[hash][extname]";}// 其他文件return "assets/[name]-[hash][extname]";},},},},
});

如果为 Vite + TS 项目,此时 vite.config.json 文件会在 endsWith 处抛出错误:Property ‘endsWith’ does not exist on type ‘string’. Do you need to change your target library? Try changing the ‘lib’ compiler option to ‘es2015’ or later.

打开 tsconfig.json 一看 target,是 "ES2020" 昂!奇了怪了…

仔细看看 tsconfig.json 文件,欸~ tsconfig.json 文件的最下面有一行配置:

    "references": [{ "path": "./tsconfig.node.json" }]

到 tsconfig.node.json 一看,没有配置 target,默认为 "ES3"!再看一眼 include,为 ["vite.config.ts"]!回到 tsconfig.json 看一眼 include,为 ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]

噢~ 我好像懂了!tsconfig.json 为业务文件的 TS 配置文件,tsconfig.node.json 为 vite.config.ts 的 TS 配置文件!

于是我在 tsconfig.node.json 中配置 target"ES2020"

{"compilerOptions": {// 其他配置项"target": "ES2020" // 添加这一行},"include": ["vite.config.ts"]
}

OK!没有报错了~


相关文章:

  • 解析Java中1000个常用类:AbstractSet类,你学会了吗?
  • spring 、springboot 运行的原理、理解、分析
  • Pnpm:包管理的新星,如何颠覆 Npm 和 Yarn
  • 四川汇聚荣科技有限公司怎么样?
  • ansibie yum模块
  • 项目3:从0开始的RPC框架(扩展版)-2
  • 【地质灾害监测实现有效预警,44人提前安全转移】
  • linux关于epoll概述(各项组成,以及作用)
  • 前后端分离后灰度发布实现方式
  • iOS Facebook SDK 安装
  • 针对ARM64嵌入式系统的Linux内核参数优化
  • vlan三层交换技术--交换机--(自作)
  • 测试测量-DMM直流精度
  • 我的常见问题记录
  • 学习C++第二天
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • css选择器
  • IndexedDB
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java程序员幽默爆笑锦集
  • JAVA之继承和多态
  • js写一个简单的选项卡
  • js中的正则表达式入门
  • Nodejs和JavaWeb协助开发
  • React Transition Group -- Transition 组件
  • ReactNativeweexDeviceOne对比
  • ⭐ Unity + OpenCV 实现实时图像识别与叠加效果
  • Vue.js 移动端适配之 vw 解决方案
  • XForms - 更强大的Form
  • 对超线程几个不同角度的解释
  • 高度不固定时垂直居中
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 普通函数和构造函数的区别
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 因为阿里,他们成了“杭漂”
  • ​【已解决】npm install​卡主不动的情况
  • ​2020 年大前端技术趋势解读
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #ifdef 的技巧用法
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • (备忘)Java Map 遍历
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)计算机毕业设计ssm电影分享网站
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)http协议
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .gitignore文件使用
  • .NET C# 配置 Options
  • .NET CF命令行调试器MDbg入门(一)
  • .NET delegate 委托 、 Event 事件
  • .net 提取注释生成API文档 帮助文档
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则