Vue.js CLI4.0 vue.config.js配置

vue 打包过大 vue.config.js 配置解决方案 优化首屏加载 vue打包之后,首屏加载过慢,响应很久,影响用户体验的优化 第一步:安装webpack-bundle-analyzer 分析包大小 cnpm i webpack-bundle-analyzer -S -D 在vue.config.js 文件中引用: const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; 配置: configureWebpack: config => {... 阅读详情

vue.config.js https://cli.vuejs.org/zh/config/#pages

Vue.js CLI4.0

安装

npm i -d vue-cli-configjs

// vue.config.js

const path = require('path');
const CompressionWebpackPlugin = require("compression-webpack-plugin"); // 开启gzip压缩, 按需引用
const productionGzipExtensions = /\.(js|css|json|txt|html|ico|svg)(\?.*)?$/i; // 开启gzip压缩, 按需写入
const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin; // 打包分析
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV);
const resolve = (dir) => path.join(__dirname, dir);

module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/site/vue-demo/' : '/', // 公共路径
  indexPath: 'index.html' , // 相对于打包路径index.html的路径
  outputDir: process.env.outputDir || 'dist', // 'dist', 生产环境构建文件的目录
  assetsDir: 'static', // 相对于outputDir的静态资源(js、css、img、fonts)目录
  lintOnSave: false, // 是否在开发环境下通过 eslint-loader 在每次保存时 lint 代码
  runtimeCompiler: true, // 是否使用包含运行时编译器的 Vue 构建版本
  productionSourceMap: !IS_PROD, // 生产环境的 source map
  parallel: require("os").cpus().length > 1, // 是否为 Babel 或 TypeScript 使用 thread-loader。该选项在系统的 CPU 有多于一个内核时自动启用,仅作用于生产构建。
  pwa: {}, // 向 PWA 插件传递选项。
  chainWebpack: config => {
    config.resolve.symlinks(true); // 修复热更新失效
    // 如果使用多页面打包,使用vue inspect --plugins查看html是否在结果数组中
    config.plugin("html").tap(args => {
      // 修复 Lazy loading routes Error
      args[0].chunksSortMode = "none";
      return args;
    });
    config.resolve.alias // 添加别名
      .set('@', resolve('src'))
      .set('@assets', resolve('src/assets'))
      .set('@components', resolve('src/components'))
      .set('@views', resolve('src/views'))
      .set('@store', resolve('src/store'));
    // 压缩图片
    // 需要 npm i -D image-webpack-loader
    config.module
      .rule("images")
      .use("image-webpack-loader")
      .loader("image-webpack-loader")
      .options({
        mozjpeg: { progressive: true, quality: 65 },
        optipng: { enabled: false },
        pngquant: { quality: [0.65, 0.9], speed: 4 },
        gifsicle: { interlaced: false },
        webp: { quality: 75 }
      });
    // 打包分析, 打包之后自动生成一个名叫report.html文件(可忽视)
    if (IS_PROD) {
      config.plugin("webpack-report").use(BundleAnalyzerPlugin, [
        {
          analyzerMode: "static"
        }
      ]);
    }
  },
  configureWebpack: config => {
    // 开启 gzip 压缩
    // 需要 npm i -D compression-webpack-plugin
    const plugins = [];
    if (IS_PROD) {
      plugins.push(
        new CompressionWebpackPlugin({
          filename: "[path].gz[query]",
          algorithm: "gzip",
          test: productionGzipExtensions,
          threshold: 10240,
          minRatio: 0.8
        })
      );
    }
    config.plugins = [...config.plugins, ...plugins];
  },
  css: {
    extract: IS_PROD,
    requireModuleExtension: false,// 去掉文件名中的 .module
    loaderOptions: {
        // 给 less-loader 传递 Less.js 相关选项
        less: {
          // `globalVars` 定义全局对象,可加入全局变量
          globalVars: {
            primary: '#333'
          }
        }
    }
  },
  devServer: {
      overlay: { // 让浏览器 overlay 同时显示警告和错误
       warnings: true,
       errors: true
      },
      host: "localhost",
      port: 8080, // 端口号
      https: false, // https:{type:Boolean}
      open: false, //配置自动启动浏览器
      hotOnly: true, // 热更新
      // proxy: 'http://localhost:8080'  // 配置跨域处理,只有一个代理
      proxy: { //配置多个跨域
        "/api": {
          target: "http://172.11.11.11:7071",
          changeOrigin: true,
          // ws: true,//websocket支持
          secure: false,
          pathRewrite: {
            "^/api": "/"
          }
        },
        "/api2": {
          target: "http://172.12.12.12:2018",
          changeOrigin: true,
          //ws: true,//websocket支持
          secure: false,
          pathRewrite: {
            "^/api2": "/"
          }
        },
      }
    }
}

上述代码可以直接复制,也可以按需引入,一般都用的到,注意里面需要安装的依赖。

npm install --save-dev compression-webpack-plugin 
npm install --save-dev image-webpack-loader 
Vue-CLI 4.0配置CDN的方法 Vue-CLI 4.0配置CDN的方法 之前试过了很多搭配cdn的方法,他们说的也都是对的,但是在自己的项目中确实没有办法执行,总是会报错,因此总结了一下我搭配cdn的所有流程,希望有所帮助 创建vue.config.js 创建vue.config.js ,文件的目录层级是雨src文件夹同级别的,因为vue-cli在4.0中取消了关于webpack等插件的配置,但是在本身也集成了这些插件,因此可以通过这样的一个文件去对整体的内容进行配置。 找到CDN的路径 如果要引用cdn,首先还是要找到CDN路径,这个是 阅读详情

相关推荐

从零开始解析N-CMAPSS数据集:航空发动机健康管理的入门指南

本文详细解析了N-CMAPSS数据集在航空发动机健康管理中的应用,从数据集的构成、关键变量到实际数据分析方法,为初学者提供了全面的入门指南。通过Python代码示例,展示了如何加载、探索和建模这一复杂数据集,帮助读者掌握航空发动机性能预测的核心技术。

weixin_29063979的博客 320

vue.config.js文件配置全

// vue.config.js const path = require(‘path’); const CompressionWebpackPlugin = require(“compression-webpack-plugin”); // 开启gzip压缩, 按需引用 const productionGzipExtensions = /.(js|css|json|txt|html|ico|svg)(?.*)?$/i; // 开启gzip压缩, 按需写入 const BundleAnalyzerPlugi

weixin_45012911的博客 1872

手把手拆解:储能电站如何实现‘孤岛运行’与‘黑启动’?从SVPWM控制到无缝并网

本文深入解析储能电站的孤岛运行与黑启动技术,从SVPWM控制策略到电网重构实战。通过详细的三环控制架构和黑启动五阶段技术路线,展示储能电站在电网故障时如何快速切换为独立电压源并实现电网重建。文章还探讨了虚拟惯量补偿、多站协同控制等前沿技术,为电力系统应急恢复提供关键解决方案。

weixin_30509393的博客 305

vue.config.js的全部配置

【代码】vue.config.js的全部配置。

大乌鸦 3812

5分钟搞懂深度学习如何革新声源定位:从GCC-PHAT到DNN的实战对比

本文深入对比了深度学习与传统GCC-PHAT方法在声源定位领域的实战表现。通过具体实验数据,展示了DNN模型在强混响、低信噪比等复杂场景下,如何实现定位准确率的显著提升,并探讨了其数据驱动范式带来的鲁棒性优势与工程部署挑战。

3a9bq4r8t2y的博客 223

基于Godot 4的战术RPG开发:模块化架构与核心系统实现

在游戏开发领域,模块化架构和回合制战斗系统是构建复杂策略游戏的基础。模块化设计通过关注点分离,将游戏逻辑分解为独立、可复用的组件,如数据模型、功能模块和场景,从而提升代码的可维护性和扩展性。回合制战斗系统则依赖于清晰的状态机循环,管理从单位选择、行动决策到伤害结算的完整流程,这是策略游戏体验的核心。这些技术为独立开发者提供了高效起点,能快速验证游戏原型。本文聚焦于一个专为Godot 4引擎设计的开源战术RPG模板,它正是运用了模块化架构和回合制状态机,实现了网格移动、相机控制和基础AI等核心功能。该模板通过

weixin_27021789的博客 615

vue2项目打包优化

有需要的直接去里面搜之后把你自己下载好的插件版本对应上就行,比如我在项目的vuex:3.6.2,那么我去里面找对应版本之后把min.js文件复制进去就行,css是这个插件需要俩个一起导入才行,比如element有一个样式和一个功能。打包后体积1.51MB,减小了快一半了,当然你写的cdn越多减的体积也越多。一定不要安装最新版,直接安装6.1.1的版本就行。4. 在public下的index.html中设置。3. 在vue.config.js中导入。1. vue.config.js中导入。

njkl2166的博客 4229

PCIE Lane Margining Linux 环境配置

Copy all the provided files in folder PYC38 or PYC310 to the created pcie_lmt folder. Index of /ftp/python/3.8.10/Copy below commands to a file and rename it as "scan_pcie.py", the commands are from "685662 PCIe-LMT-Gen4_Gen5-r0p77.pdf" in the lane margi

mysongshine的博客 1436

vue.config.js 打包配置的一些东西

1、打包后的文件和路径在哪里看 在控制台 element和sources里看 我们自己公司是这样的 控制台这个 sources 可以看到资源目录。如下图所示 这些资源都相当于在线资源了,可通过右击在新标签页打开(如下图所示)。 这里的liangwei相当于dist目录。然后再去找liangwei下的static等资源文件。 在element可以发现,这个红框的就是自己写的js代码,因为有static目录。 有static的就是自己的东西打包的,其他的则是在线的或者自带的css/js。 打包的配置 publ

josiecici的博客 9116

北斗B1频点信号捕获实战:如何应对NH码跳变带来的挑战?

本文深入探讨了北斗B1频点信号捕获中NH码跳变带来的核心挑战。针对NH码以1kHz速率调制导致的相干积分中断和相关峰畸变问题,文章提出并详细解析了一种基于伪码与多普勒频率分离技术的优化捕获方案。该方案通过差分处理消除NH跳变影响,并利用匹配滤波器与FFT分别进行码相位和多普勒频率的快速估计,有效提升了弱信号环境下的捕获灵敏度和稳定性,为北斗接收机设计提供了实用的工程参考。

joy55的博客 535

从零开始的计网学习——物理层

计算机网络对于IT人不论是就业还是升学都是核心的一门课程,一起从零开始,学习计算机网络!

Nimrod__的博客 2万+

vue3.0+cli 4 .0^ 单页面配置系列(二)--vue.config.js 基础配置

vue.config.js 是一个可选的配置文件,在安装cli的时候并不会自动生产,需要使用的时候自己手动编写,名字不能错,放在更目录下面,它会被 @vue/cli-service 自动加载,执行; 详细的介绍见官网,初略使用看下面 由于使用的官网cli很多都帮我们处理好了。以后在写自定义脚手架 打包自动加入公用样式css 在环境变量一节介绍分离不同的配置文件,自动加入公用样式比如定义变量和公用样式放到一个less文件comm.less, 这个文件生产和开发环境都需要,就配置在base.config.js

木子聊前端 472

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

vue-cli4.0之vue.config.js的配置项

const path = require(“path”); module.exports = { // 部署应用时的基本 URL publicPath: process.env.NODE_ENV === “production” ? “/production-sub-path/” : “/”, // build时构建文件的目录 构建时传入 --no-clean 可关闭该行为 outputDir: “dist”, // build时放置生成的静态资源 (js、css、img、fonts) 的 (相对于 out

qq_36501494的博客 2812

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

关于 Vue CLI 4.0 的 vue.config.js 基本配置范例(jquery、图片压缩、CSS modules)

从Vue CLI 3.0 开始,Webpack的配置文件从 webpack.config.js 变为了 vue.config.js。此外,Vue 对配置文件的写法也进行了一些改动。因此,本文参考其他大神的对webpack的说明以及Vue CLI 4.0 关于webpack的说明文档。起草了一份Vue CLI 4.0 的基本配置,供大家参考:

Jay的博客 3542

vue-cli 4.0去掉严格模式

"extends": [ "plugin:vue/essential", "eslinet:recommended", "@vue/prettier" ],

蚂蚁的博客 942

vue cli4.0 快速搭建项目详解

转发:https://www.cnblogs.com/sese/p/11712275.html

蚂蚁的博客 475

vue-cli 4.0 带vue.config.js的完整目录

求大佬给一个带vue-cli4.0 带 vue.config.js完整目录,网上搜了很多也配置了很多,但是配置都没生效

weixin_41894940的博客 2613

Vue.js CLI4 Vue.config.js标准配置 (最全注释)

前言: Vue.js CLI工具 不知不觉发展到了4.0时代,CLI给人最直白的感受是没有了build文件夹跟config文件夹,所有的配置都在Vue.config.js完成。那么该文件的配置至关重要。现在我们来看一下最新配置是怎么配置的。 有三种方式,推荐第二种标准版(无需安装依赖,直接复制即可配置)。 1、依赖库 npm install vue-cli-configjs 2、标准版 // vue.config.js const path = require('path'); const IS_PR

qq_43248623的博客 1907

安装vue脚手架@vue/cli 4.5.13(稳定版)

安装vue脚手架vue/cli@3.12.1(稳定版) 最近从0搭建一个 vue 简单的 h5 页面,还记得以前自己是用 vue-cli 2.0的版本 里面有默认配置好的webpack配置,但现在很多小伙伴都已经用最新的 @vue/cli 4+ 版本了,毕竟 @vue/cli 3 以上 的版本,比 2.0 的配置文件简洁了很多,当然你还得跟上时代的脚步,不然你就被淘汰了。但自己搭建过的小伙伴都应该知道, ...

分享与记录前端点滴 1万+

解决Vue cli 4.0 自动导入svg的问题

网上大多数的教程都是vue cli旧版的。使用vue cli 3/4搭建项目使用svg自动导入的方法: 1、安装 svg-sprite-loader、svgo这两个库 npm install --save-dev vue-svg-sprite-loader npm install -g svgo 2、在根目录创建vue.config.js,如果存在就不需要创建,然后添加一下配置 const path = require('path') function resolve(dir) { r.

m0_47665999的博客 941

【vue】使用vue-cli4.0快速搭建一个项目

前言 最近公司的项目终于到了空闲期,而闲不住的我终于把目标放到了项目的迁移上面 因为公司的项目比较早的原因(虽然当时vue-cli也出来了一段时间,但是不敢轻易尝试啊!) 所以使用的环境还是 vue2.x版本的,而又因为公司的前端项目都是我来搭建的原因(并不是技术大佬,入职早!) 所以所有项目开发的时候一直在用的 vue-cli2.0,后来项目多了也没时间就没往 vue-cli3.0 迁移...

u010227042的博客 681

深入解析Vue CLI:从入门到实战,快速搭建Vue.js项目

Vue CLI 是 Vue.js 官方提供的强大脚手架工具,能够帮助开发者快速搭建现代化的 Vue.js 项目。本文将带你从零开始,深入理解 Vue CLI 的核心概念、安装与配置,并详细讲解如何使用 Vue CLI 3 创建和定制项目。无论你是 Vue.js 新手还是有一定经验的开发者,本文都将为你提供实用的技巧和最佳实践,助你高效开发大型 Vue.js 应用。通过本文,你将掌握如何利用 Vue CLI 优化开发流程,提升项目构建效率。

Zyw907155124的博客 1428

前端笔记11——修改VUE CLI的入口文件main.js的路径(vue.config.js)

因为练习需要,VUE创建一个脚手架后,需要做很多不同的练习,不可能每一个小的练习都创建一个新的脚手架,所以就复制一份src文件夹,然后把原来做过的src改名。因为VUE CLI默认只识别src目录下的main.js。这样,问题就来了,每次都要改将之前该过名的目录改回src才能运行。 能不能不改文件的名称,VUE自动识别去运行自己想要的目录呢? 在网上查了一些资料后,终于找到方法了,就是修改默认的入口文件路径,这个配置在哪里设置呢?答案在根目录下的vue.config.js配置文件上。 初始默认vue.con

weixin_42844704的博客 6795

video.js flash HTML5视频直播插件的使用问题记录(vue下,cli4)

在版本6以后,video.js 本身不包含flash等插件了,已经分离出来了。使用的时候,需要另行安装 ###安装videojs npminstallvideo.js--save ###安装flash插件 npminstallvideojs-flash-S ###安装播放HLS的插件 npminstallvideojs-contrib-hls--s...

3773
上一篇: webpack开发环境和生产环境的配置区别
下一篇: Vue cli3\4 babel配置转译解决浏览器兼容问题
蜗牛与藤曼
博客等级 码龄9年 1万+粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值