首页 > 其他分享 >解决Vue3+Ts打包项目时会生成很多的map文件

解决Vue3+Ts打包项目时会生成很多的map文件

时间:2024-08-19 16:57:20浏览次数:14  
标签:map vue lodash 文件 Chunk Ts js 模块 Vue3

 正常打包会生成.js和.map文件

怎么去解决它呢?

正常来说我们会在vite.config.ts配置我们的项目打包方式,如下:(我这里的target:es2022是为了支持模块中顶层await的使用)

// Vite 配置文件
export default {
  build: {
    // 指定构建输出目录
    outDir: "dist",
    // 使用 "terser" 作为代码压缩工具,适合生产环境
    minify: "terser",
    // 设定 Chunk 大小警告阈值,超过此大小会有警告
    chunkSizeWarningLimit: 1500,
    // 目标 JavaScript 版本
    target: "es2022",
    // Rollup 输出配置
    rollupOptions: {
      output: {
        // 设置 Chunk 文件的输出命名规则
        chunkFileNames: "assets/js/[name]-[hash].js",        
        // 设置入口文件的输出命名规则
        entryFileNames: "assets/js/[name]-[hash].js",
        // 设置静态资源文件的输出命名规则
        assetFileNames: "assets/[ext]/[name]-[hash].[ext]",
        // 手动拆分代码块,将特定模块分配到不同的 Chunk
        manualChunks: {
          vue: ["vue", "vue-router"],      // 将 "vue" 和 "vue-router" 模块分配到名为 "vue" 的 Chunk
          echarts: ["echarts"],            // 将 "echarts" 模块分配到名为 "echarts" 的 Chunk
          lodash: ["lodash"],              // 将 "lodash" 模块分配到名为 "lodash" 的 Chunk
          ElementPlus: ["element-plus"]   // 将 "element-plus" 模块分配到名为 "ElementPlus" 的 Chunk
        }
      }
    },
    // terser 压缩选项配置
    terserOptions: {
      compress: {
        // 删除生产环境中的 console 语句
        drop_console: true,
        // 删除生产环境中的 debugger 语句
        drop_debugger: true
      }
    }
  }
};

一般正常配置如上,打包的最后结果会放在dist文件夹里面,但是项目中会出现很多map文件,解决办法很简单,在package.json文件中添加--noEmit即可解决打包中出现的map文件

标签:map,vue,lodash,文件,Chunk,Ts,js,模块,Vue3
From: https://blog.csdn.net/qq_59625204/article/details/141329581

相关文章

  • Ubuntu 24.04 LTS 相关配置
    更换软件源#备份sudocp/etc/apt/sources.list.d/ubuntu.sources/etc/apt/sources.list.d/ubuntu.sources.bak#编辑,将其追加在文件最后sudovim/etc/apt/sources.list.d/ubuntu.sources#阿里云Types:debURIs:http://mirrors.aliyun.com/ubuntu/Suites:noblenob......
  • Java中的可达性分析算法图解,以及哪些对象可以作为GCRoots
    可达性分析算法图示:解释:因为在GCRoots中存在对于对象A的引用,而A又持有对对象B和对象C的引用,所以这一串都是有用的引用链,需要保留。对于对象D和对象E,他们只是相互进行引用,并没有和GCRoots中的对象有任何的关联,所以可以安全的回收。哪些对象可以作为GCRoots虚拟机栈(栈帧中的......
  • HTML5+CSS3学习笔记补充——移动端网页+Bootstrap框架
    移动端网页和Bootstrap框架1.视口:用来约束HTML尺寸<!--视口标签是HTML骨架默认生成的设置网页宽度与逻辑分辨率(即设备)宽度一致--><metaname="viewport"content="width=device-width,initial-scale=1.0">2.二倍图:防止设计稿图片在高分辨率屏幕下模糊失真3.......
  • java.lang.IllegalArgumentException: Comparison method violates its general contr
    代码:publicstaticvoidwbsSort(List<SendMessageEntity>sendMessageEntityList){Collections.sort(sendMessageEntityList,(o1,o2)->{StringwbsCode1Temp=o1.getWbsCode();StringwbsCode2Temp=o2.getWbsCode();......
  • sonarqube添加一条自定义规则,扫描文件中出现的username和password,方法二,使用implement
    特别指出: 所以,sonarqube默认过滤掉了resources下的文件;以下代码可以扫出yml/xml/properties等文件中的敏感字符,当然是放在src/main下的,不是resources;下载源码与使用详情参考:Sonarqube自定义规则,部署SonarSource/sonar-java源码中示例规则:docs/java-custom-rules-exam......
  • RestSharp 最简代码
    安装的版本NuGet\Install-PackageRestSharp-Version106.12.0 代码如下internalclassProgram{    staticvoidMain(string[]args)    {       语音实体x=new语音实体();        x.text="重量"+32+"公斤,请下磅";       ......
  • 每个模型变体都旨在提供平均精度 (mAP)
    matplotlib>=3.2.2numpy>=1.18.5opencv-python>=4.6.0Pillow>=7.1.2PyYAML>=5.3.1requests>=2.23.0scipy>=1.4.1torch>=1.7.0torchvision>=0.8.1tqdm>=4.64.0tensorboard>=2.4.1pandas>=1.1.4seaborn>=0.11.0fromultral......
  • 使用 preloadRouteComponents 提升 Nuxt 应用的性能
    title:使用preloadRouteComponents提升Nuxt应用的性能date:2024/8/19updated:2024/8/19author:cmdragonexcerpt:preloadRouteComponents是提升Nuxt应用性能的一个简单而有效的工具。通过在适当的时候预加载路由组件,你可以为用户提供更快速、更流畅的导航体验。......
  • vue3+watch
    watch—vue3是一个惰性,所谓惰性,就是被动的去进行调用,而不是主动的去进行触发,可以通过使用immediate来等进行立即执行调用如何在初始阶段进行触发呢?了解到watch中的参数watch(参数一:监听的数据,参数二:回调函数()=>{编辑代码},参数三:option?用于执行一些配置选项)参数一:是在se......
  • 【Vue3】准备工作
    系列文章目录第一章准备工作文章目录系列文章目录第一节:Node安装一、nvm二、node:三、npm第二节:VSCode一、下载地址二、概念讲解三、插件安装第三节:VSCode快捷键通用快捷键基础编辑导航查询与替换多行光标操作与选择丰富的语言操作编辑器管理文件管理显示集成终端......