vue3.0 vue.config.js 配置实战

2023-11-15

项目常用配置

const path = require('path');

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

function resolve(dir) {

     return path.join(__dirname, dir)

}

module.exports = {

     lintOnSave: false, // eslint-loader 是否在保存的时候检查

     outputDir:'dist', // 输出文件目录

     assetsDir:'static', // 放置静态资源的地方 (js/css/img/font/...)

     productionSourceMap: process.env.VUE_APP_ENV != 'prod', //生产环境是否生成 sourceMap 文件 ,此判断条件为不在正式         环境打包时进行输出

     // 调整内部的 webpack 配置。

     chainWebpack: (config) => {

     config.plugins.delete('prefetch'); //prefetch意思是,一旦网络空闲,就自动下载独立.js文件

     //快速找到相应路径,例如,@直接找到项目的src目录

     config.resolve.alias

    .set('@', resolve('src'))

    .set('common', resolve('src/common'))

    .set('base', resolve('src/base'))

    .set('api', resolve('src/api'))

    .set('components', resolve('src/components'))

    .set('static', resolve('static'));

     if (process.env.VUE_APP_ENV == 'prod' && process.env.NODE_ENV != "development") {

            //进行压缩代码

            config.optimization.minimize(true);

            // 进行分包配置

           config.optimization.splitChunks({

                  chunks: 'all'

            })

            // 用cdn方式引入

           config.externals({

                  'vue': 'Vue',

                  'vuex': 'Vuex',

                  'vue-router': 'VueRouter',

                   'mint-ui': 'MINT', // 需用MINT

                   'axios': 'axios'

            })

const TerserPlugin = require('terser-webpack-plugin'); //内置压缩工具包

config.optimization.minimizer([

new TerserPlugin({

terserOptions: {

compress: {

drop_console: true,

drop_debugger: true

},

output: {

// 去掉注释内容

comments: false,

}

}

})

])

}

},

//默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/

publicPath: '/test/',

css: {

// 当为true时,css文件名可省略 module 默认为 false

modules: true,

// 是否将组件中的 CSS 提取至一个独立的 CSS 文件中,当作为一个库构建时,你也可以将其设置为 false 免得用户自己导入 CSS

// 默认生产环境下是 true,开发环境下是 false

extract: false,

// 是否为 CSS 开启 source map。设置为 true 之后可能会影响构建的性能

sourceMap: false,

//向 CSS 相关的 loader 传递选项(支持 css-loader postcss-loader sass-loader less-loader stylus-loader)

loaderOptions: { css: {}, less: {} }

},

configureWebpack: (config) => {

let plugins = [

new UglifyJsPlugin({

uglifyOptions: {

compress: {

drop_console: true,

drop_debugger: true

},

output: {

// 去掉注释内容

comments: false,

}

},

sourceMap: false,

// parallel: true,

})

];

// 只有打包生产环境才需要将console删除

if (process.env.VUE_APP_ENV == 'prod') {

config.plugins = [...config.plugins, ...plugins];

}

},

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3.0 vue.config.js 配置实战 的相关文章

  • npm run build 上的 Babel-Loader 语法错误

    我对 webpack 不是很了解 正在尝试将 webpack 从 V3 更新到 V4 并设法将我的 webpack 配置更新到不会向我抛出折旧错误的程度 但我现在陷入了 babel loader 的语法错误 Module build fai
  • 配置 Jest 模仿 webpack 解析 root 和解析别名

    我正在努力使用 Webpack 和 Jest 建立一个项目 目前 Webpack 解决了配置导致 Jest 测试复杂化的问题 在我的 webpack 配置中 我设置了以下选项 resolve root dirname src extensi
  • Vue Cli 3 禁用代码分割 - 无法删除哈希文件

    我有一个vue config js设置效果很好 并取消了默认的代码分割 但它仍然输出一个 CSS 文件 其哈希值与具有好名称的 CSS 文件相同 我可以编写一个脚本来删除它 但我想知道是否有一种方法可以将文件设置为不输出带有哈希的CSS文件
  • AngularJS 和 Webpack 集成

    我正在寻找一些使用帮助webpack http webpack github io docs 对于大型 AngularJS 应用程序 我们使用基于功能的文件夹结构 每个功能 页面都有一个模块 并且它们有控制器 指令 我已经成功配置了 web
  • 使用 webpack 动态提供图像

    我有一个关于 webpack 和服务图像的问题 我有一个 webpack 配置 它构建了一个 React webapp 并且还提供来自特定文件夹的 jpg 文件 但是 如果我从我的网络应用程序下载新图像并将其添加到此文件夹中 会发生什么情况
  • 如何为webpack使用自己的jade文件?

    我是 webpack 的新手 并试图弄清楚如何在 webpack dev server 中使用我自己的 html 文件以及我的 webpack 构建 在我的 app js 中我有 require jade index jade 但这并不意味
  • 带有 Angular 8 自定义 webpack 配置的 svg-sprite-loader

    我正在尝试使用自定义 webpack 配置将 svg sprite loader 包 用于创建 svg sprite 与我的 Angular 8 项目一起使用 我正在使用以下自定义配置 const SpriteLoaderPlugin re
  • 我可以打包 Webpack 但不缩小调试范围吗?

    似乎是一个真正愚蠢的问题 必须在某个地方有答案 但我已经搜索了几个小时但没有结果 我是 ReactJS 和使用 Webpack 构建的新手 一般来说是构建配置 我正在使用 Webpack 链接和捆绑我的整个项目 包括 ReactJS 它工作
  • 具有多个 Angular + Nativescript 代码共享项目和可重用库的 Angular 工作区

    环境 tns 信息 获取 NativeScript 组件版本信息 组件原生脚本有更新 您当前的版本是 5 1 0 最新的可用版本是 5 1 1 组件 tns core modules 有更新 您当前的版本是 5 1 1 最新的可用版本是 5
  • 使用webpack输出ES模块

    使用 Rollup 我可以通过简单地设置来输出 ES 模块format选项 es 我怎样才能用 webpack 做同样的事情 如果现在不可能的话 webpack 有计划添加吗 我在里面唯一找到的东西的文档output libraryTarg
  • Angular 2 的最佳模块加载器? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我已经使用了 JavaScript 和 Angular JS 1 AMD requireJS Brow
  • 在 Phaser3 中从 Multiatlas 加载文件时出错

    尝试使用 Phaser 和 TexturePacker 中的多图集功能 出现此错误 VM32201 1 GET http localhost 8080 bg sd json 404 Not Found Texture js 250 Text
  • 解决方案:动态加载独立编译的 Webpack 2 包 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想分享如何捆绑一个充当插件主机以及它如何加载已安装的插件动态地 应用程序和插件都与 Webpack 捆绑在一起 应用程序和插件被编译和分
  • “找不到模块:错误:无法解析模块‘react/lib/ReactMount’”

    我使用Reactjs和webpack启动一个项目 当我在命令提示符中运行 node server 时 出现如下错误 并且chrome浏览器打开成功但也出现问题如下 github是 github com Yangqin0607 gallery
  • 如何在 Material UI 的 webpack 构建中包含 Roboto 字体?

    For a 进步网络应用程序基于材质用户界面 http www material ui com 反应 并构建Webpack 我如何正确包含 Roboto 字体 以便该应用程序不依赖于 Google 服务器并且字体也可以工作offline T
  • vuejs 延迟加载组件,无需路由器

    vue 中的延迟加载组件使用 webpack 并不困难 https alligator io vuejs lazy loading vue cli 3 webpack https alligator io vuejs lazy loadin
  • webpack 加载器并包含

    我是 webpack 的新手 我正在尝试了解加载器及其属性 例如测试 加载器 包含等 这是我在 google 中找到的 webpack config js 的示例片段 module loaders test js loader babel
  • 从react-loadable中命名webpack块

    我已经成功在我的项目中添加了react loadable库以启用代码分割 我发现的唯一问题是webpack生成的块没有命名 它们被赋予了整数名称 我的反应可加载使用代码是 const AppRootLoadable Loadable loa
  • Webpack 在 Angular 的 ng 服务中的作用

    我是 Angular 的新手 想知道当我们为应用程序提供服务时 Webpack 在幕后扮演什么角色 在最初的印象中 我开始知道 webpack 是一个构建和打包工具 它将所有必需的 JS 文件分组到单独的包中 然而 我无法找到 webpac
  • @apply 在 Laravel Mix 中的 Vue 组件内不起作用

    我在 Laravel 中使用 Tailwind CSS 和 VueJS 组件 如下所示

随机推荐

  • 在阿里云上运行hadoop遇到的50070,9000无法访问问题

    问题 我在阿里云上运行namenode和腾讯云上运行datanode 在hadooop配置完之后 运行hdfs 发现没有namenode 然后查看namenode的日志 日志显示50070端口被占用 9000端口拒绝服务 但是通过natst
  • vue - 实现页面全屏文字水印效果,类似 word 插入的自定义水印(支持单页或整个项目全部页面 “选择性“ 插入,可自定义水印文字、大小样式等,也能动态设置文字)和页面一同渲染,无任何卡顿示例源码

    效果图 代码干净简洁 示例源码注释详细 无任何乱七八糟的代码 本文实现了 单页或整个项目所有页面的全屏水印效果 支持自定义水印文字 可 动态 设置文字内容 你只需要复制本文提供的封装方法 直接在页面中或 App vue 中引入即可生效 只需
  • vue3+element-plus实现表格多选功能(可以清除选项或分页保留选项)

    如图所示 在实际开发中 数据量大的表格基本都添加上了分页功能 每个页面请求的数据回交换更新 第一页的选中效果在跳转至第二页后 如果没有做相关处理 选中项会被清空 具体解决方法如下 在需要处理的表格标签中加上 row key getRowKe
  • 第五章-CSRF漏洞

    第五章 CSRF漏洞 第一节 CSRF原理介绍 1 1 CSRF漏洞定义 CSRF Cross site request forery 跨站请求伪造 也被称为One Click Attack或者Session Riding 通常缩写为CSR
  • k8s组件理解

    一 k8s组件交互关系由下图可大致体现 二 k8s master组件理解 1 kube apiserver组件 kube apiserver Kubernetes kubernets API server 提供了k8s各类资源对象的增删改查
  • EasyTalking微博系统

    EasyTalking微博系统 摘要 随着互联网的迅猛发展 人们的日常生活 学习工作已经离不开网络 人们的生活和工作在未来的生活中将越来越依赖于计算机网络技术的发展 越来越网络化 电子化 虚拟化 便捷化 Internet目前的应用历程和发展
  • 如何const定义一个不可变数组

    有个常见的面试题 我们知道 const是es6中新增用于定义常量 但是对于引用类型来说 const 所说的常量 是指 对应的指针或者说地址是常量 那么 如果我们要求 我们定义的数组里面的元素也是不可改变的呢 先来看现象 const a 1
  • webgl--attribute相关使用

    attribute 是存储限定符 是专门用于向外部导出与点位相关的对象的 这类似于es6模板语法中export vec4 是变量类型 vec4是4维矢量对象 a position 是变量名 之后在js中会根据这个变量名导入变量 这个变量名是
  • [CTSC2008]网络管理Network【树状数组+主席树】

    题目链接 题意 有一棵N个点的树 每个点有对应的权值 现在有这样的操作 0 a b 将a点的权值改成为b k a b 询问a到b的链上第k大的权值是几 我们可以用dfs序的树上差分的方式来解决这个问题 可以发现 求u到v的信息 其实就是求u
  • 【c++】角度与弧度转换

    角度转换为弧度 double angle to radian double degree double min double second double flag degree lt 0 1 0 1 0 判断正负 if degree lt
  • matlab与机器学习(二)程序基本操作(含代码解析)

    备注 之间的为注释内容 注释后面的内容 matlab形成自己的编程风格更有利于简洁的编程界面 图像的初步处理可应用于论文撰写上 文章更有说服力 程序调试有利于发现逻辑问题 都是必备的基础知识 I 清空环境变量及命令 clear all cl
  • Python selenium基础用法详解

    活动地址 CSDN21天学习挑战赛 学习的最大理由是想摆脱平庸 早一天就多一份人生的精彩 迟一天就多一天平庸的困扰 学习日记 目录 学习日记 一 Selenium库介绍 1 Selenium简介 2 Selenium的安装 3 安装浏览器驱
  • RabbitMQ系列(十五)RabbitMQ进阶-SprintBoot集成RabbitMQ使用

    RabbitMQ进阶 SprintBoot集成RabbitMQ使用 文章目录 RabbitMQ进阶 SprintBoot集成RabbitMQ使用 1 构建项目 1 1 Spring Init创建项目 1 2 新建项目包 2 初始化Rabbi
  • 【Chrome】分享几个常用的插件,持续集成

    文章目录 一 准备 打开扩展程序 1 1 方式一 1 2 方式二 1 3 打开开发者模式 二 Chrome应用商店在线安装 需要科学上网 三 离线安装 3 1 离线crx下载地址 3 2 crx方式安装 3 3 加载已解压的扩展程序 方式安
  • 计算机组成原理实验——五、单周期CPU设计

    一 实验目的 掌握指令执行过程的5个阶段 掌握每条指令的数据通路选择 掌握译码器和控制器的功能和实现 掌握数据输入输出处理的方法 实现risc v中RV32I指令的单周期CPU 利用实现的risc v CPU实现平方数 二 实验内容 实现r
  • DHorse系列文章之操作手册

    在介绍DHorse的操作之前 我们先来看一下发布一个系统的流程是什么样的 发布系统的流程 我们以一个Springboot系统为例 来说明一下发布流程 1 首先从代码仓库下载代码 比如Gitlab 2 接着是进行打包 比如使用Maven 3
  • 求和2.14

    n int input 输入数字的数量 a list map int input split 输入一个列表 print a S 0 s1 sum a for i in range 0 n s1 a i S a i s1 print S
  • 使用PHPExcel实现数据批量导入到数据库

    此例子只使用execel2003的 xls文档 若使用的是其他版本 可以保存格式为 Execel 97 2003 工作簿 xls 即 xls文件类型即可 功能说明 只能上传Excel2003类型的xls文件 大小不超过5M 可下载例子模板添
  • 配置服务器实现无缝连接

    在进行网络爬虫时 经常会面临目标网站的IP封锁 反爬虫策略等问题 为了解决这些问题 配置代理服务器是一种常见的方法 本文将向您介绍如何配置代理服务器与爬虫实现无缝连接 助您顺利进行数据采集 一 了解代理服务器的作用 代理服务器充当中间人的角
  • vue3.0 vue.config.js 配置实战

    项目常用配置 const path require path const UglifyJsPlugin require uglifyjs webpack plugin function resolve dir return path joi