什么是webpack,学透之前持续更

本文深入浅出地介绍了webpack的产生背景及其如何解决前端模块化和预编译语言带来的挑战。详细解析了webpack作为静态模块打包器的核心理念和工作流程,包括依赖关系图的构建和模块打包过程。并通过实例展示了如何在项目中配置和使用loader处理Sass等预编译语言。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学webpack从几个问题开始
webpack的产生背景

随着互联网的高速发展,传统的css+html+js简单布局已经很难满足用户的需求了,取而代之的是内容更加丰富,拥有更复杂的JavaScript代码和依赖包的‘网页’。而这样在实际开发中效率很低,为了寻求高效率,前端领域用不断实践打开了潘多拉之门…

  • 模块化,将程序划分各个功能块
  • 使用预编译语言,typescript,sass,less

  • ** ~~ 但是 ~~ **这些东西却不能被浏览器所编译,需要进行额外的处理转换成css,js才能被识别,而手动处理却非常繁琐,有什么办法能处理这个问题成了一个新的问题,而这时候----webpack便应运而生
什么是webpack

附上一张 webpack 官网的图
在这里插入图片描述

从图中可以直观的看出 webpack 的设计理念:化繁为简

核心和概念

本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。

简单来说就是 将你写的代码(typescript,sass,less),转变成浏览器能看懂的语言(css,javascript)

webpack是怎么来处理这些东西的呢

webpack 有着各种健全的加载器(loader)在处理这些事情

  • 如:css-loader
    传统上我们会在html文件中引入CSS代码,借助webpack style-loader和css-loader我们可以在.js文件中引入css文件并让样式生效。
    加载.css,css-loader 解释(interpret) @import 和 url() ,会 import/require() 后再解析(resolve)它们。
    引用资源的合适 loader 是 file-loader和 url-loader,你应该在配置中指定
  • style-loader通过 style 标签 注入到dom中建议将 style-loader 与 css-loader 结合使用
webpack的使用
  • 拿vue来说,打开项目中的webpack.base.conf.js,我们可以看到如下
    在这里插入图片描述
    这是各种加载器的集合
  • 现在举个例子,如果我们要使用sass、那就得引入针对sass加载器,那怎么办弄呢?下面展示步骤
    • 在main.js中引入
      import '你的路径/index.scss'
    • 安装
      npm i sass-loader -D本地安装。此加载器需要依赖node-sasscnpm i node-sass -D
      (常用cnpm安装,npm很多时候失败,内部依赖,不需要规则配置,npm uninstall node-sass出错先删除)。
    • 增加匹配规则
      sass也属于样式,也需要经过style-loader 和 css-loader处理。
module.exports = {
    module:{   
        rules:[   
            {
                 test:/\.scss$/,  
                use:['style-loader','css-loader','sass-loader'] 
            }
        ]
    }
}

----先写到这,有空更

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值