webpack.config.js

module.exports = {// 打包的入口文件,只有和入口文件有关联的,打包时候才会打包 | 开发时候服务器才会监听变化entry: {app: './src/app.js',client: './src/client.css'},output: {// 配置输出文件存放在本地的目录,必须是 string 类型的绝对路径。path: path.resolve(__dirname,  '/'),// 配置输出文件的名称,为string 类型。[name]Chunk 的名称,就是对于上面entry对象的属性名filename: '[name].js',// 配置发布到线上资源的 URL 前缀,为string 类型。publicPath: '/face'},resolve: {// 指定哪些类型的文件,可以不写后缀名;打包的时候,自动尝试补全后缀名extensions: ['.js', '.vue', '.json'],  // 别名,在任何文件内都可以用,打包的时候,匹配到别名,就会替换成别名对应的属性值alias: {'@': path.resolve(__dirname, './src')}},module: {// 解析文件用到的插件rules: [// 这个是给js和vue文件加eslint验证{// 匹配需要编码的文件格式test: /\.(js | vue)$/,// 插件名loader: 'eslint-loader',// 指定插件需要管理编译的文件夹范围include: [resolve('src')],// 指定插件不需要管理编译的文件夹范围exclude: [path.resolve(__dirname, './src/assets/lib/view')],options: {}}]},plugins: [// 定义全局js变量(相当于window全局变量一样),key一定要大写,value一定要用JSON.stringify(value)转义new webpack.DefinePlugin({BASEPATH:  JSON.stringify('/')}),// 定义js全局模块变量(相当于window全局变量一样),value可以是node_modules里面的模块,也可以是alias里的别名new webpack.ProvidePlugin({$: 'jquery',jQuery: 'jquery'}),// 热更新(不刷新页面,局部替换页面改动的地方),当改变html、css或者一些不必要刷新页面的js,变化时,可以局部替换页面改动的地方,而不刷新页面;但是如果js改动,一定要刷新页面,才能正常展示,就会强制刷新new webpack.HotModuleReplacementPlugin(),// 把压缩好的css、js自动配置好路径引入html中new HtmlWebpackPlugin({// 输出文件的文件名称,默认为index.html,不配置就是该文件名;filename: 'index.html',// 本地模板文件的位置template: 'index.html',// 值为true、'body',把js引入html中body底部;值为'head',把js引入html中head中inject: true}),// 在控制台打印出错误信息new FriendlyErrorsPlugin(),// 压缩js插件new webpack.optimize.UglifyJsPlugin({// 是否删除注释comments: true,compress: {// 是否删除警告信息warnings: false,// 是否删除debuggerdrop_debugger: true,// 是否删除consoledrop_console: true}}),// 把css从html中style便签写入css文件new ExtractTextPlugin({// 定义文件的名称。如果有多个入口文件时,应该定义为:[name].cssfilename: '[name].css'}),// 用于优化或者压缩CSS资源,一般配合 ExtractTextPlugin一起使用new OptimizeCssAssetsPlugin({cssProcessorOptions: {safe: true,// 是否去除老的css样式autoprefixer: {remove: false}}}),// 压缩文件,需要nginx服务器配合,浏览器请求xxx.js,服务器把压缩文件xxx.js.gz返回,浏览器解压后,再解码渲染new CompressionWebpackPlugin({// 目标资源名称。[file] 会被替换成原资源。[path] 会被替换成原资源路径,[query] 替换成原查询字符串asset: '[path].gz[query]',// 可以是 (buffer, cb) => cb(buffer) 或者是使用 zlib 里面的算法的 {String}algorithm: 'gzip',// 处理所有匹配此 {RegExp} 的资源test: /\.(js | css)$/,// 只处理比这个值大的资源。按字节计算threshold: 10240,// 只有压缩率比这个值小的资源才会被处理minRatio: 0.8})]
}
复制代码

转载于:https://juejin.im/post/5c88ce0851882575eb6acb94

vue-cli webpack配置注释相关推荐

  1. Vue CLI 3 配置兼容IE10

    Vue CLI 3 配置兼容IE10 最近做了一个基于Vue的项目,需要兼容IE浏览器,目前实现了打包后可以在IE10以上运行,但是还不支持在运行时兼容IE10及以上.Vue CLI 3 中文文档 安 ...

  2. vue入门——webpack配置

    搭建vue需要了解webpack. 1. npm init. 新建一个webpack_demo的目录,在该目录使用此命令初始化一个package.json管理安装包.执行后会有一堆问题,默认回车即可, ...

  3. vue项目webpack配置全局变量

    问题:最近多人开发项目,由于每个人都链接一台服务器,导致项目ip都不同,每次提交代码,测试ip总有冲突,导致git代码合并总是报错 作为一个有追求的程序员肯定要一劳永逸的解决这个问题啊 解决方法: 一 ...

  4. Vue Cli webpack打包出现Waring :Critical dependency: the request of a dependency is an expression

    错误信息: Waring 写法: let name = require(url); 如下写法,错误消失: let name = require(`${url}`);

  5. nuxt webpack配置css,nuxt笔记

    初始化: vue init nuxt/starter  (类似 vue init webpack) 配置IP和端口: 配置全局CSS 配置webpack的loader nuxt路由配置和传参 Nuxt ...

  6. vue项目通过命令行传参实现多环境配置(基于@vue/cli)

    大多数项目都有生产环境和开发环境,一般情况下应该够了,但是有时候还需要sit,uat,本地等环境,这时候假如要通过注释的方式切换环境就相当麻烦了. 如果可以像下面这样切换环境就方便了 npm run ...

  7. Vue——10 - webpack打包保姆级教程01——打包js、json、css、less、html、背景图片以及图片、字体(Font)文件,devsever,生产环境配置以及css的兼容写法

    目录 一.webpack打包JS文件 1.新建入口文件index.js和mathUtils.js,index.js是依赖于mathUtils.js 2.然后使用webpack命令打包js文件 二.打包 ...

  8. Vue CLI 3.0脚手架如何在本地配置mock数据

    前后端分离的开发模式已经是目前前端的主流模式,至于为什么会前后端分离的开发我们就不做过多的阐述,既然是前后端分离的模式开发肯定是离不开前端的数据模拟阶段. 我们在开发的过程中,由于后台接口的没有完成或 ...

  9. Vue CLI 3.0脚手架如何在本地配置mock数据json

    前后端分离的开发模式已经是目前前端的主流模式,至于为什么会前后端分离的开发我们就不做过多的阐述,既然是前后端分离的模式开发肯定是离不开前端的数据模拟阶段. 我们在开发的过程中,由于后台接口的没有完成或 ...

  10. vue 配置【详解】 vue.config.js ( 含 webpack 配置 )

    目录 常用配置 完整配置 使用 vue-cli 3.x 以上的脚手架创建的 vue 项目不再有 build文件夹,若需要进行相关配置,需在项目目录下新建文件 vue.config.js 常用配置 // ...

最新文章

  1. python实现进度条的3种方式
  2. 【Python】猜数小游戏(文件操作)
  3. [转]用Whois获得电信运营商的IP地址是如何分配的?
  4. java实现——客户端登录
  5. Redis可以做哪些事儿?
  6. Java之Exception
  7. InnoDB的Buffer Pool简介
  8. 2014年3月计算机四级网络工程师考试试题及答案,某年3月计算机等级考试四级网络工程师笔试试题...
  9. mysql 函数无法访问_mysql 中出现:不能打开到主机的连接,在端口3306: 连接失败...
  10. linux date命令_Linux date命令示例
  11. 如何实现与硅谷技术零距离
  12. 按键精灵文字替换,文字查找代码
  13. iPhone开发逻辑分辨率
  14. A Survey on Deep Learning Techniques for Stereo-based Depth Estimation论文阅读
  15. 2022数据安全法律法规标准关注文件整理
  16. SSL 域名证书 安装指引
  17. 【Meetup讲师】您有一张社区认证讲师证书未领取,点击领取!
  18. java人民币大小写转换_人民币大小写转换
  19. 对JavaScript 标签语句的简单理解
  20. 顶级IT企业 Sign-on Bonus 大比拼

热门文章

  1. 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】
  2. 例2.11 FatMouse' Trade - 九度教程第21题(贪心算法)
  3. 五脏六腑在脸上的反射区图片_“阳光运动场,亲子共成长”——赣县区白鹭乡中心幼儿园迎新年亲子趣味运动会...
  4. java打印jsp_在java中实现对FORM的打印功能
  5. dell服务器错误代码
  6. SQL Server 2017 AlwaysOn AG 自动初始化(九)
  7. R语言colorRampPalette函数-创建颜色梯度(渐变色)
  8. PIPI-OJ BUG log
  9. linux 多路径配置
  10. 在Django中使用F()函数