webpack基础配置说明

Webpack

  1. 项目初始化 yarn init -y
  2. 安装webpack : yarn add webpack webpack-cli --dev(意为把webpack相关依赖安装到开发者依赖里来,最后打包的代码里不需要在使用webpack了)
  3. code . 用vscode打开当前目录的项目

4.写项目

5.  npx webpack打包生成dist

6.  在根目录下新建webpack.config.js配置文件

7.如果把css文件引入js文件在打包可能出错,所以需要安装一些loader

yarn add –dev style-loader css-loader

8.  yarn add html-webpack-plugin --dev  此插件可以自动生成打包后的html文件

9.在开发项目的时候,有时候可能需要使用新版本js的特性,但是要兼容低版本的浏览器,所有要利用babel这个工具转义我们的js代码

yarn add –dev babel-loader @babel/core @babel/perset-env

10.压缩打包后的代码,这样可以减少文件的体积

    yarn add –dev terser-webpack-plugin

11.webpack工具每次我们修改js代码后都会自动打包

     yarn add --dev webpack-dev-server

12.很多时候我们打包后,会发现有些文件的体积过大,所有我们需要分析一下原因,再进行下一步的优化,webpack提供打包后可视化的工具

   yarn add --dev webpack-bundle-analyzer

13. 在webpack.config.js内编写webpack的基础属性:

     const path=require(“path”);

     const HtmlWebpackPlugin=require(“html-webpack-plugin”);

     const TerserPlugin=require(“terser-webpack-plugin”)

     const BundleAnalyzerPlugin=require(“webpack-bundle-analyzer”)

     module.exports={

         mode:”development”,  //设置为开发环境,便于以后开发进行更改

         devtool:”inline-source-map”,  //配置此项后方便查看打包后的源代码

//devtool:"source-map",

         entry:”./src/index.js”,   //入口文件名,可以使用默认值

         output:{            

 filename:”dist.js”,   //配置打包后的文件名

//为了防止文件名一样,浏览器会缓存我们之前打包好的dist.js文件,所有我们希望每次文件名不一样,所有就决定在文件名上加上随机的字符,让每次更新打包之后都改为新的字符

      //filename:”[name].[contenthash].js”,

   path:path.resolve(__dirname,’dist’),      

//打包后文件的存放目录

// __dirname:用来动态获取当前文件模块所属目录的绝对路径;

//__filename:用来动态获取当前文件的绝对路径

   },

optimization:{

minimize:true,

minimizer:[new TerserPlugin()],

},//文件压缩

devServer:{

static:”./dist”,

},//设置每次修改都会自动打包的开发服务器,为了方便运行开发服务器需要在package.json里添加新的配置项”scripts”:{“start”:”webpack serve --open”},配置之后只要运行yarn start即可

plugins:[new HtmlWebpackPlugin({

       title:”HTML标题  // html-webpack-plugin支持设置生成的html标题

}),

New BundleAnalyzerPlugin.BundleAnalyzerPlugin(),//打包后体积可视化,注意导入的是一个对象

]

//对于loader需要在webpack中配置

//匹配以什么样的扩展名结尾的文件,去应用什么样的loader

module:{

   rules:[{

      test:/\.css$/i, //匹配所有以css结尾的文件,忽略大小写

      use:[“style-loader”,”css-loader”],

},{

//如何加载图片

                test:/\.(png|svg|jpg|jpeg|gif)$/I,

                type:’asset/resource’,

//此处使用的是webpack内置的loader(原本就具有打包图片的功能),所有用type

},{

test:/\.js$/,              //匹配js结尾的文件

exclude:/node_modules/,   //不要去转义node_modules下面的代码

use:{

loader:”babel-loader”,

options:{

presets:[“@babel/preset-env”]

}

}

}

],  //数组中的每一个元素都对应一个loader的配置,每个loader的配置都包含匹配扩展名,以及使用哪些loader的相关的选项

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
webpack教程是一篇关于使用webpack进行前端项目构建的文章。它包含了webpack的安装、配置、加载器和插件的使用等内容。在教程中,作者介绍了webpack与其他构建工具(如grunt和gulp)的区别,并详细说明webpack的概念和基本用法。教程还提供了一些示例代码和实践步骤,帮助读者更好地理解和应用webpack。其中,引用\[1\]提供了关于webpack的基本命令和配置的使用方法,引用\[2\]介绍了webpack的入口、出口、加载器和插件的概念,引用\[3\]则介绍了如何使用插件来提取和加载CSS文件。如果你对webpack感兴趣,这篇教程会给你提供一些有用的指导和实践经验。 #### 引用[.reference_title] - *1* [webpack详细教程](https://blog.csdn.net/weixin_41842236/article/details/103132674)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [webpack基础教程](https://blog.csdn.net/k0101jcj/article/details/106825691)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值