热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VueCLI打包与代理配置详解

本文详细介绍了如何通过`vue.config.js`文件配置VueCLI的打包和代理设置,包括开发服务器配置、跨域处理以及生产环境下的代码压缩和资源压缩。

// vue.config.js 配置示例
// 官方文档参考:https://cli.vuejs.org/zh/config/
module.exports = {
// 开发服务器配置
devServer: {
host: '0.0.0.0',
port: 8080, // 开发服务器端口
https: false, // 是否启用 HTTPS
open: true, // 自动打开浏览器
proxy: {
'/api': {
target: 'http://172.22.12.28:30083/', // 目标 API 服务器地址
changeOrigin: true,
pathRewrite: {'^/api': '/'} // 路径重写规则
}
}
},
publicPath: './', // 应用公共路径
configureWebpack: (config) => {
if (process.env.NODE_ENV !== 'development' && process.env.NODE_ENV !== 'test') {
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const CompressiOnWebpackPlugin= require('compression-webpack-plugin');
const productiOnGzipExtensions= ['js', 'css'];
config.plugins.push(
new CompressionWebpackPlugin({
algorithm: 'gzip',
test: new RegExp(`\.(?:${productionGzipExtensions.join('|')})$`),
threshold: 10240,
minRatio: 0.8
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false,
drop_debugger: true, // 移除 debugger 语句
drop_console: true, // 移除 console 语句
pure_funcs: ['console.log'] // 移除其他纯函数调用
}
},
sourceMap: false,
parallel: true
})
);
}
}
};

以上配置文件中,我们首先设置了开发服务器的基本配置,如主机地址、端口号、是否启用 HTTPS 和是否自动打开浏览器。接着,通过 `proxy` 属性配置了 API 代理,解决了开发过程中的跨域问题。最后,在生产环境下,我们使用了 `UglifyJsPlugin` 和 `CompressionWebpackPlugin` 插件来压缩 Javascript 和 CSS 文件,提高应用性能。


推荐阅读
  • 下面根据配置文件,来说明一些底层与webservices的关系:回顾一下servlet的映射模式。我们知道,servlet是从javax.servlet.http.HttpServ ... [详细]
  • 深入解析Java中的锁类型及其应用场景
    本文详细介绍了Java中常见的锁类型,包括乐观锁与悲观锁、独占锁与共享锁、互斥锁与读写锁、可重入锁、公平锁与非公平锁、分段锁、偏向锁、轻量级锁、重量级锁以及自旋锁。每种锁的特性、作用及适用场景均有所涉及。 ... [详细]
  • KKCMS代码审计初探
    本文主要介绍了KKCMS的安装过程及其基本功能,重点分析了该系统中存在的验证码重用、SQL注入及XSS等安全问题。适合初学者作为入门指南。 ... [详细]
  • 本文探讨了使用Lighttpd与FastCGI实现分布式部署的方法。通过在中心服务器上配置Lighttpd负责请求转发,同时在多个远程服务器上运行FastCGI进程来处理实际业务逻辑,从而提高系统的负载能力和响应速度。 ... [详细]
  • 本文详细介绍了如何在VUE开发环境中正确安装和配置Nightwatch及Karma相关插件,并解决运行测试时遇到的Java版本不兼容问题。 ... [详细]
  • 深入理解FastDFS
    FastDFS是一款高效、简洁的分布式文件系统,广泛应用于互联网应用中,用于处理大量用户上传的文件,如图片、视频等。本文探讨了FastDFS的设计理念及其如何通过独特的架构设计提高性能和可靠性。 ... [详细]
  • Flask框架入门指南:Windows平台下的首个Python 2.7项目
    本文将指导您如何在Windows平台上使用Python 2.7搭建一个简单的Flask应用,包括项目结构的创建、基本路由的设置以及HTML模板的设计。 ... [详细]
  • 本文详细介绍了如何通过Percona插件监控MySQL 5.7数据库,包括环境准备、插件安装、配置调整及数据测试等步骤,旨在为用户提供一个高效且稳定的监控解决方案。 ... [详细]
  • 为了增强服务器的安全性,管理员可以通过SSH进行精细的访问控制。本文将介绍两种有效的方法来限制用户从特定IP地址登录,包括更改默认端口和设置允许访问的IP列表。 ... [详细]
  • 本文档详细介绍了Robot Framework的基础知识、安装配置方法及其实用技巧。从环境搭建到编写第一个测试用例,涵盖了一系列实用的操作指南和最佳实践。 ... [详细]
  • 本文介绍了在 Android 开发中如何实现像素 (px)、缩放独立像素 (sp) 和密度独立像素 (dp) 之间的相互转换。这些方法对于确保应用在不同屏幕尺寸和分辨率上的适配至关重要。 ... [详细]
  • 本文介绍了一个简单的Python函数,该函数能够接收一个日期作为输入,并返回这一天是星期几。此功能通过使用Python的datetime模块实现。 ... [详细]
  • 本文详细介绍了如何在VMware环境下安装CentOS 7 Minimal,并成功配置GNOME桌面环境的过程。包括解决网络连接问题和设置默认图形界面等关键步骤。 ... [详细]
  • 学习目的:1.了解android线程的使用2.了解主线程与子线程区别3.解析异步处理机制主线程与子线程:所谓主线程,在Windows窗体应用程序中一般指UI线程,这个是程序启动的时 ... [详细]
  • 在现代多线程编程中,Lock接口提供的灵活性和控制力超越了传统的synchronized关键字。Lock接口不仅使锁成为一个独立的对象,还提供了更细粒度的锁定机制,例如读写锁(ReadWriteLock)。本文将探讨如何利用ReentrantReadWriteLock提高并发性能。 ... [详细]
author-avatar
LING2502856847
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有