zoukankan      html  css  js  c++  java
  • webpack的理解,vue.config.js文件各个部分的含义

    webpack是一个现代javascript应用程序的静态模块打包器

    • 语法转换。less/sass/stylus转换为css,ES5转换为ES%,……;
    • html.css.js代码压缩合并(打包);
    • webpack可以在开发期间提供一个开发环境。自动打开浏览器,保存时自动刷新;
    • 项目一般先打包在上线。开发用,上线不用,npm install 包名字 -D

    vue.config.js

      1 const path = require('path')
      2 
      3 //引入自动生成的html插件
      4 const HtmlWebpackPlugin = require('html-webpack-plugin');
      5 
      6 //引入分离css文件的模块
      7 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
      8 
      9 //导入清除插件,可以在每次打包之前清除dist目录的内容
     10 const { CleanWebpackPlugin } = require('clean-webpack-plugin');
     11 
     12 // webpack-dev-server 相关配置,需要将配置的对象到处,给webpack使用
     13 module.exports = {
     14   //入口entry,从哪个文件开始打包
     15   entry: './src/main.js',
     16   //出口output,打包到哪里去
     17   output:{
     18     //打包输出的目录(输出的目录必须是一个绝对路径)
     19     path:path.join(__dirname,'dist'),
     20     //打包后生成的文件名
     21     filename:'js/bundle.js'
     22   },
     23   //模式mode development未压缩的,production压缩
     24   mode:'development',
     25 
     26   //配置module模块加载规则
     27   //默认,webpack只认识json,js,
     28   module:{
     29     rules:[
     30     //(1)配置css文件的解析
     31     {
     32       //匹配所有以css结尾的文件,正则
     33       test:/.css$/,
     34       //css-loader让webpack能够识别css文件
     35       //style-loader通过动态创建style标签的方式让解析后的css内容,能够作用到页面中
     36       use:[{
     37         loader:MiniCssExtractPlugin.loader,
     38         options:{
     39           //公共资源加载的路径
     40           publicPath:'../',
     41           //https://www.bilibili.com/video/BV1vJ411E7rn?p=6
     42         }
     43       },'css-loader'],
     44 
     45   
     46     },
     47     //(2)配置less文件的解析
     48     {
     49       test:/.less$/,
     50       //use中从后往前作用,less转换为css,css转换为webpack可识别
     51       // use:['style-loader','css-loader','less-loader']
     52       use:[{
     53         loader:MiniCssExtractPlugin.loader,
     54         options:{
     55           //公共资源加载的路径
     56           publicPath:'../',
     57 
     58         }
     59       },'css-loader','less-loader']
     60     },
     61     //(3)配置图片文件的解析
     62     {
     63       test:/.(png|jpg|gif)$/i,
     64       use:[
     65         //url-loader如果不配置,默认都会将文件转换为base64字符串的格式
     66       {
     67         loader:'url-loader',
     68         //8K以内转换为base64,8k以外,单独的一个文件请求
     69         options:{
     70           limit:8*1024,
     71           //配置输出的文件名
     72           name: '[name].[ext]',
     73           //配置静态资源的引用路径
     74           publicPath:'../images/',
     75           //配置输出的文件目录
     76           outputPath:"images/"
     77 
     78         }
     79       }
     80       ]
     81     },
     82     //(4)配置高版本js兼容性处理
     83     {
     84       test:/.js$/,
     85       //exclude为配置排除项
     86       exclude:/(node_modules)/,
     87       use:{
     88         loader:'babel-loader',
     89         options:{
     90           presets:['@babel/preset-env']
     91         }
     92      }
     93   }]
     95 },
     96 
     97 //配置插件
     98 plugin:[
     99   //自动生成html的插件
    100   new HtmlWebpackPlugin({template: './src/view/index.html'}),
    101   //分离css的插件,定义打包好的文件的存放路径和文件名
    102   new MiniCssExtractPlugin({
    103     filename:'css/index.css'
    104   }),
    105   //清除dist目录的插件
    106   new CleanWebpackPlugin()
    107 ],
    108 //配置开发服务器
    109 devServer: {
    110   port:3000,
    111   open:true,
    112 }
    113 
    114 }
  • 相关阅读:
    python day 6 time 库
    python day 5 基本数据类型
    20191206《信息安全导论》第六周学习总结
    第十节 数据流重定向
    第九节 简单的文本处理
    第八节 命令执行顺序控制与管道
    第七节 文件系统操作与磁盘管理
    第六节 文件打包与解压缩
    第五节 环境变量与文件查找
    第四节 Linux目录文件及文件基本操作
  • 原文地址:https://www.cnblogs.com/qing0228/p/14371833.html
Copyright © 2011-2022 走看看