webpack

作者: 蜗牛和曼巴 | 来源:发表于2020-02-21 23:08 被阅读0次

    webpack的安装
    为了防止全局安装出现的版本冲突,我们一般都把webpack安装在本地项目中
    yarn add webpack webpack-cli -D npm i webpack webpack-cli --save-dev

    从npm5.2版本后,提供了一个命令:npx,基于这个命令可以执行本地安装的模块
    $npx webpack 基于npx执行了webpack命令,而这个命令就是实现打包部署的
    -找到node_modules/.bin
    -要求我们得有webpack.cmd文件
    -执行webpack.cmd
    也可以从package.json中配置可执行的脚本

    'scripts':{
      'build':'webpack',
      ....
    }
    

    $ npm run build OR yarn build

    在webpack.config.js这个文件中设置我们自定义的打包规则
    1.所有的规则都写在module.exports={}中

    module.exports={
    //配置优化规则
    optimization:{
      //压缩优化
      minimizer:[
           
        ]
    }
     mode:''  //配置环境 production development
      entry:'./src/index.js'  //入口文件,从哪个文件开始打包
      //出口
      output:{
      filename:'bundle.min.js'  //输出的文件名
      //让每一次生成的文件名都带着HASH值
      filename:'bundle.min.[hash].js'  //输出的文件名
      path:''   //输出的目录必须是绝对路径
    },
      //关于webpack-dev-server的一些配置
     devServer:{
       port:3000, //创建服务指定的端口号
       progress:true //显示打包编译的进度
      contentBase:'./build'  //指定当前服务处理资源的目录
      open:true  //编译完会自动打开浏览器
    },
     //使用插件(数组)
      plugins:[
        new HtmlWwbpackPlugin({
           //不指定模板会按照默认模板创建一个HTMl页面,当然真实项目中一般都市把自己写好的HTML进行编译
           template:'./src/index.html',
          //输出的文件名
          filename:'index.html',
          //让我们引入JS后面加上HASH(清除缓存),但是真实项目中我们一般都市每一次编译生成不同的JS文件引入
         hash:true,
         //控制压缩
         minify:{
         
    }
    })
    ],
      //使用css加载器loader处理规则
      module:{
       rules:[
      {
       test:/\.css$/,  //基于正则匹配处理哪些文件
      //控制使用的LOADER(有顺序的:从右到左执行,先执行css再style)
       use:[
        'style-loader',  //把编译好的css插入到页面的HEAD中
        'css-loader',  //编译@import/url()这种语法的
    ],  //控制使用的加载器
       },
       {
        test:/\.js$/i,
        // 编译JS
        use:[{
         loader:'babel-loader',
         options:{
          //基于BABEL的语法解析包(ES6编译ES5)
           presets:[
            '@babel/preset-env'
         ]
         }
        }]
      }
    ]
    }
    }
    

    图片

    {
      test:/\.(png|jpg|jpeg)$/i,
      use:['file-loader']
    },
    {
      test:/\.(html|htm|xml)$/i,
      use:['html-withimg-loader']
    }
    

    相关文章

      网友评论

          本文标题:webpack

          本文链接:https://www.haomeiwen.com/subject/yiohqhtx.html