如何使用Webpack打包

如何使用Webpack打包简单的说了一下 webpack 是干嘛的 和 webpack 如何安装 如何进行打包 步骤很详细 感兴趣的同学可以试着操作一下 文章目录 1 webpacks 是什么 2 Webpack 安装 3 初始化项目 4 使用 webpack 进行 JS 打包 5 使用 webpack 进行 CSS 打包总结 1 webpacks 是什么 Webpack 是一个前端资源加载 打包工具 它将根据模块的依赖关系进行静态分析 然后将这些模块按照指定的规则生成对应的静态资源 从图中我们可以看出 Webpack 可以将多种静态资源 js css le

简单的说了一下webpack是干嘛的,和webpack如何安装,如何进行打包,步骤很详细,感兴趣的同学可以试着操作一下。


1、webpacks是什么?

Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。

2、Webpack安装

安装webpack之前需要先安装好npm,不会的小伙伴可以这篇文章:node.js基本使用,因为node.js中自带npm,所以安装了node.js就可以了

额外补充一下npm

NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是Node.js的包管理工具,相当于后端的Maven 。

安装webpack

npm install -g webpack webpack-cli #全局安装 

安装后可以查看版本号:webpack -v

3、初始化项目

在使用webpack打包之前,我们首先要先创建一个项目

exports.info = function (str) { 
     document.write(str); } 

4、在src下创建:src下创建utils.js文件

exports.add = function (a, b) { 
     return a + b; } 

5、在src下创建:src下创建main.js文件

//引入外部js const common = require('./common.js'); const utils = require('./utils.js'); //调用方法 common.info('Hello world!' + utils.add(100, 200)); 

4、使用webpack进行JS打包

1、在webpack目录下创建配置文件webpack.config.js,内容如下

const path = require("path"); //Node.js内置模块 module.exports = { 
     entry: './src/main.js', //配置入口文件 output: { 
     path: path.resolve(__dirname, './dist'), //输出路径,__dirname:当前文件所在路径 filename: 'bundle.js' //输出文件 } } 

以上配置的意思是:读取当前项目目录下src文件夹中的main.js(入口文件)内容,分析资源依赖,把相关的js文件打包,打包后的文件放入当前目录的dist文件夹下,打包后的js文件名为bundle.js

webpack #有黄色警告 webpack --mode=development #没有警告 #执行后查看bundle.js 里面包含了上面两个js文件的内容并惊醒了代码压缩 

4、在webpack目录下创建index.html,内容如下

<body> //引入bundle.js <script src="dist/bundle.js"> 
      script>  
       body> 

5、在浏览器打开该网页,就能看到输出内容啦!

5、使用webpack进行CSS打包

1、安装style-loader和 css-loader

Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换。

Loader 可以理解为是模块和资源的转换器。

首先我们需要安装相关Loader插件,css-loader 是将 css 装载到 javascript;style-loader 是让 javascript 认识css

npm install --save-dev style-loader css-loader 

2、修改webpack.config.js,内容如下

const path = require("path"); //Node.js内置模块 module.exports = { 
     entry: './src/main.js', //配置入口文件 output: { 
     path: path.resolve(__dirname, './dist'), //输出路径,__dirname:当前文件所在路径 filename: 'bundle.js' //输出文件 }, module: { 
     rules: [ { 
     test: /\.css$/, //打包规则应用到以css结尾的文件上 use: ['style-loader', 'css-loader'] } ] } } 

3、在src文件夹下创建style.css,内容随意,这里就给个网页背景

body{ 
     background:green; } 
require('./style.css'); 

总结

看着比较多,其实都很简单的,并且都是一步一步来记忆的,对于新手来说是非常友好的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214723.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午3:35
下一篇 2026年3月18日 下午3:36


相关推荐

  • INT0中断_中断请求寄存器

    INT0中断_中断请求寄存器 当进程执行系统调用时,先调用系统调用库中定义某个函数,该函数通常被展开成前面提到的_syscallN的形式通过INT0x80来陷入核心,其参数也将被通过寄存器传往核心。 在这一部分,我们将介绍INT0x80的处理函数system_call。 思考一下就会发现,在调用前和调用后执行态完全不相同:前者是在用户栈上执行用户态程序,后者在核心栈上执行核心态代码。那么,为了保证在核心内部执行完系统调用…

    2025年11月5日
    5
  • windows远程桌面,停留在“请稍后”页面[通俗易懂]

    windows远程桌面,停留在“请稍后”页面[通俗易懂]最近登陆局域网远程桌面,输入账号密码,停留在“请稍后”页面,卡半天也进不去。我的解决方法:1.注销其他远程登陆帐户。2.重新连接远程桌面。

    2025年8月3日
    5
  • Java开发手册之索引规约「建议收藏」

    Java开发手册之索引规约「建议收藏」Java开发手册之索引规约

    2022年4月22日
    43
  • 一致性哈希算法详解

    一致性哈希算法详解1、使用哈希算法有什么问题?假设有一个由A、B、C三个节点组成的KV服务,每个节点存放不同的KV数据。通过哈希算法,每个key都可以寻址到对应的服务器,比如,查询key是key-01,计算公式为hash(key-01)%3,经过计算寻址到了编号为1的服务器节点A但如果服务器数量发生变化,基于新的服务器数量来执行哈希算法的时候,就会出现路由寻址失败的情况,Proxy无法找到之前寻址到的那个服务器节点假如3个节点不能满足业务需求了,这时增加了一个节点,节点的数量从3变化为4,那么之前的hash(key

    2022年7月27日
    9
  • linux vim怎么退出编辑模式_centos7退出vi编辑

    linux vim怎么退出编辑模式_centos7退出vi编辑转载自:http://blog.csdn.net/u010648555/article/details/50676647初学Linux的时候,在使用vi操作时候,有时候可能进入的是一个文件夹,这样子在退出的时候很不好操作!下面总结一些vi退出命令,学习!进入编辑模式,按o进行编辑编辑结束,按ESC键跳到命令模式,然后输入退出命令::w保存文件但不退出vi编辑:w!强制保存,不退出v…

    2022年9月29日
    3
  • spi,i2c,uart三种总线的区别_i2c接口是什么意思

    spi,i2c,uart三种总线的区别_i2c接口是什么意思一、SPI I2CUART通信速率比较:SPI&gt;I2C&gt;UART1、同步通信&gt;异步通信;2、同步通信时必须有一根时钟线连接传输的两端;3、都是串行通信方式,并行通信用于内部存储间的通信,如flash;4、适合传输的距离和通信速率成反比关系;3-SPI:两条合一的数据线、1时钟线、1CS(设备片选线) SPI:2数据线、1时钟线、1CS(设备片选线)/串行同步通信…

    2025年11月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号