webpack打包工具的使用方法

article/2025/9/24 13:43:22

目录

一、webpack打包工具

1、简介

2.npm补充

3.webpack一系列的步骤

1.npm init -y初始化文件生成package.json文件

2.npm install jquery -S安装jquery包,

3.卸载包的时候,用npm uninstall jquery -S(如果需要卸载的话)

4.在根目录上新建src文件夹,里面新建index.html文件和index.js文件


一、webpack打包工具

1、简介

webpack是一个流行的前端项目构建工具(打包工具),
web开发会遇到几个常见的问题,可以用webpack来解决:
1>文件之间相互依赖关系复杂
2>浏览器对于ES6的模块化支持不是很友好
3>浏览器对于js的新语法特性兼容也不是很好

2.npm补充

npm install xx --save-dev 可以简写成 npm install xx -D  代表安装的这个包是开发的时候用的
npm install xx --save 可以简写成   npm  install xx -S   代表安装的这个包是开发和上线以后都要使用的
npm install jquery -S: jquery开发的用,上线的也要用
npm install less -D: less是开发的时候用,项目上线以后使用的转换后的css代码

3.webpack一系列的步骤

1.npm init -y初始化文件生成package.json文件

2.npm install jquery -S安装jquery包,

3.卸载包的时候,用npm uninstall jquery -S(如果需要卸载的话)

4.在根目录上新建src文件夹,里面新建index.html文件和index.js文件

​ index.html文件里面的代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./index.js"></script>
</head>
<body><div id="box">我是测试文字</div>
</body>
</html>

index.js里面的代码是:

import $ from "jquery";
$(function(){$("#box").css("color","red");
})

此时浏览器会报错:

​ 因为浏览器不能识别ES6中的import导入语法,所以这时候我们就要用到webpack来解决了

4.1webpack的详细步骤

(1)npm install webpack webpack-cli -D 安装webpack

(2)在根目录下新建webpack.config.js文件,并要配置代码:

module.exports = {mode: "development" //可以是development开发模式或者production生产上线模式
};
//development开发者模式有注释,而production生产模式则去掉了所有的注释.

(3)修改package.json文件,

 "scripts": {"test": "echo \"Error: no test specified\" && exit 1",//这个是本来就有的"dev": "webpack"},

(4) npm run dev

输入命令后就可以进行webpack打包命令了。此时就会自动生成一个dist文件夹,里面有main文件,就是打包好的文件,然后再src/index.html文件中引入打包好的main.js文件再重新泡一下,就不报错了

​ 此时webpack.config.js文件里面是development:

效果:

​ 当webpack.config.js里面是production时,

其余效果与development相同。

4.2 配置打包的入口和出口

webpack默认打包的入口文件是src/index.js,打包后的出口文件是dist/main.js文件。 如果我们想修改打包后的入口和出口文件,需要如下配置:

修改webpack.config.js文件:

const path = require("path"); //引入处理路径的path模块module.exports = {mode: "development", //可以是development开发模式或者production生产上线模式entry: path.join(__dirname, "./src/index.js"),output: {path: path.join(__dirname, "./dist"), //指定输出文件路径filename: "bundle.js" //输出文件的名称}
};

此时我们再重新运行npm run dev命令跑起来,就会在dist目录中重新生成信得打包文件bundle.js,然后我们在index.html引入并使用。

效果:

4.3.配置webpack自动打包工具

后期修改代码的话,还得多次npm run dev的启动,就好比node有nodemon。

​ (1)npm install webpack-dev-server -D

​ (2)修改package.json文件

 "scripts": {"test": "echo \"Error: no test specified\" && exit 1",//这是原来就有的"dev": "webpack-dev-server"//把webpack修改如右侧的内容},

​ (3)修改index.html的引入路径

<script src="/bundle.js"></script>

(4)npm run dev 启动webpack的自动打包

​ (5) 测试 我们随便修改index.js代码的内容,浏览器访问index.html的时候页面效果都会跟着发生变化 注意: 我们默认访问路径是:http://localhost:8080/src/index.html

​ (6)以上步骤还是不能出现效果,所以我们就要再次配置4.4里面的环境

4.4配置html-webpack-plugin

(1)安装插件npm install html-webpack-plugin -D

​ (2)修改webpack.config.js文件

const path = require("path"); //引入处理路径的path模块
const HtmlWebpackPlugin = require("html-webpack-plugin"); //导入模板处理插件
const HtmlPlugin = new HtmlWebpackPlugin({template: "./src/index.html",filename: "index.html"
});//指定复制的源文件地址
module.exports = {mode: "development", //可以是development开发模式或者production生产上线模式entry: path.join(__dirname, "./src/index.js"),output: {path: path.join(__dirname, "./dist"), //指定输出文件路径filename: "bundle.js" //输出文件的名称},plugins: [HtmlPlugin]//指明使用的插件
};

​ (3)重新运行npm run dev

​ (4)浏览器访问http://localhost:8080就能直接访问index.html页面了,不用再http://localhost:8080/src/index.html访问了

效果:

4.5webpack加载器

webpack默认只能处理.js后缀的文件,但是其他类型的文件默认无法直接打包,所以我们需要安装loader加载器。

  1. less-loader可以辅助打包.less相关的文件
  2. sass-loader可以辅助打包.sass相关的文件
  3. url-loader可以辅助打包路径相关的文件

4.5.1打包css文件

​ (1).在src文件里面新建css/index.js,然后在index.js引入css文件,此时再打包的时候就会报错,引入它不能直接打包css文件

​ (2) npm install style-loader css-loader -D 安装对应处理loader

​ (3)修改webpack.config.js文件,添加module->rules规则

module.exports = {mode: "development", //可以是development开发模式或者production生产上线模式entry: path.join(__dirname, "./src/index.js"),output: {path: path.join(__dirname, "./dist"), //指定输出文件路径filename: "bundle.js" //输出文件的名称},plugins: [HtmlPlugin],module: {rules: [{ test: /\.css$/, use: ["style-loader", "css-loader"] }]}
};

(4)启动npm run dev打包

效果:

4.5.2.打包less文件

在src/css下面新建index.less

@num: 24px;ul {li {background-color: yellow;font-size: @num;}
}

index.html文件里面新加内容:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./bundle.js"></script>
</head>
<body><div id="box">我是测试文字<ul><li>plus</li><li>plus</li><li>plus</li><li>plus</li></ul></div>
</body>
</html>

然后在index.js引入less文件

import "./css/index.less";

会直接报错,还是不认识这样的less文件

所以要安装下面的loader:

1>npm install less-loader less -D

2>修改webpack-config.js

 module: {rules: [{ test: /\.css$/, use: ["style-loader", "css-loader"] },{ test: /\.less$/, use: ["style-loader", "css-loader", "less-loader"] }]}

3>跑起来

4.5.3配置图片和字体

在src下面新建image文件,里面放上一张图片

在index.css里面设置图片的规格:

#box {width: 300px;height: 300px;background: url(../images/2.jpg) no-repeat center center;
}

跑起来的话会报错,因为webpack不能直接解析图片,所以还要配置环境

npm install url-loader file-loader -D

修改webpack.config.js的文件

 module: {rules: [{ test: /\.css$/, use: ["style-loader", "css-loader", "postcss-loader"] },{ test: /\.less$/, use: ["style-loader", "css-loader", "less-loader"] },{test: /\.jpg|png|gif|ttf|eot|woff|woff2/,use: "url-loader?limit=16940"}]}

跑起来的效果:


http://chatgpt.dhexx.cn/article/6j4pP1Lg.shtml

相关文章

webpack 打包chunk

chunk的含义以及出现的情况 webpack特定术语在内部用于管理捆绑过程&#xff0c;输出束&#xff08;bundle&#xff09;由块组成。 是webpack 根据功能拆分出来的代码片段&#xff0c;包含三种情况 官方: 1.入口起点&#xff1a;使用entry配置手动地分离代码 **2.防止重复…

webpack打包报错

在执行npm run build对项目进行打包的时候遇到webpack打包报错的问题 在网上找到各种方法去解决&#xff0c;什么node版本不兼容啊重装node啊&#xff0c;什么saas没装好python环境啊&#xff0c;webpack版本兼容问题啊&#xff01;总之各种说法都看着去尝试解决了&#xff0c;…

webpack打包css

webpack打包 1.打包css2.打包逻辑1-1.webpack打包css逻辑 3.打包css4.打包成独立的css文件5.添加样式前缀6.格式校验7.压缩css8.我们为什么要用这个打包工具呢9.webpack的打包顺序10.总结 1.打包css 2.打包逻辑 1-1.webpack打包css逻辑 非js文件打包 需要对应的loadercss-loa…

初识webpack打包

初识webpack打包&#xff0c;小白入门 前言&#xff1a; webpack是一款基于node的构建工具&#xff0c;其中一大特色就是打包 因为现在前端已经工程化开发&#xff0c;写的代码已经不能直接在浏览器上运行了 这时候webpack会帮你把代码进行编译&#xff0c;打包成浏览器识别的…

webpack打包分析

分析一&#xff1a;打包的时间分析 如果我们希望看到每一个loader、每一个Plugin消耗的打包时间&#xff0c;可以借助于一个插件&#xff1a;speed-measure-webpack-plugin注意&#xff1a;该插件在最新的webpack版本中存在一些兼容性的问题&#xff08;和部分Plugin不兼容&am…

如何使用Webpack打包

简单的说了一下webpack是干嘛的&#xff0c;和webpack如何安装&#xff0c;如何进行打包&#xff0c;步骤很详细&#xff0c;感兴趣的同学可以试着操作一下。 文章目录 1、webpacks是什么&#xff1f;2、Webpack安装3、初始化项目4、使用webpack进行JS打包5、使用webpack进行CS…

webpack打包优化配置

文章目录 前言不进行任何打包配置代码分离splitChunkruntimeChunk动态导入 css文件处理css文件提取css文件压缩css实现Tree Shaking js实现Tree shakingTerserscope Hoisting打包优化没效果打包界面显示分析总结 前言 之前使用webpack进行项目搭建配置时&#xff0c;都是操作一…

webpack打包路径更改_webpack打包教程

创建package.json文件 命令:npm init 安装webpack npm install --save-dev webpack npm install --save-dev webpack-cli 全局安装: npm install --global webpack webpack-cli 打包 默认entry入口 src/index.js 默认output出口 dist/main.js 打包模式: webpack --mode deve…

Vue基础知识总结 9:vue webpack打包原理

&#x1f3c6;作者简介&#xff1a;哪吒&#xff0c;CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家&#x1f4aa;&#xff0c;专注Java硬核干货分享&#xff0c;立志做到Java赛道全网Top N。 &#x1f3c6;本文收录于&#xff0c;Java基础教程系列…

webpack 打包流程

流程梳理 在开始之前我们先对于整个打包流程进行一次梳理。 这里仅仅是一个全流程的梳理&#xff0c;现在你没有必要非常详细的去思考每一个步骤发生了什么&#xff0c;我们会在接下来的步骤中去一步一步带你串联它们。 整体我们将会从上边5个方面来分析Webpack打包流程: 初…

Webpack打包

webpack【依赖node环境】 什么是webpack&#xff1f; 从本质上将&#xff0c;webpack是一个现代的JavaScript应用的静态模板打包工具。 前端模块化&#xff1a; 前端模块化是指&#xff0c;通过将前端代码根据一定的规则解耦封装成几个代码文件&#xff08;模块&#xff09;&…

使用webpack打包vue项目

使用webpack打包vue项目 安装webpack工具&#xff0c;安装方式有两种&#xff1a;全局安装&#xff08;命令&#xff1a;npm install -g webpack webpack-cli&#xff09;以及安装在项目中&#xff0c;这里使用第二种&#xff1a; //在项目中安装&#xff0c;这里的-D表示运用到…

Idea 2017.3.+永久破解方法

一、下载Intellij IDEA2017.3.5x64旗舰版 去官网下载此处不赘述 二、下载破解jar包 链接在此http://idea.lanyus.com/jar/JetbrainsCrack-2.7-release-str.jar 三、打开安装好的IDEA路径下的bin目录 将下载好的jar包复制进来 例如 四、修改bin目录下的两个文件 idea.exe…

InetlliJ IDEA 2017破解(亲测,可用)

1.InetlliJ安装好后&#xff0c;启动&#xff0c;至License Activation界面&#xff1b; 2.选择License server&#xff1b; 3.在License server address中填入 http://idea.imsxm.com/

Intellij IDEA2017安装破解

IntelliJ IDEA&#xff08;2017&#xff09;安装和破解 IDEA 全称 IntelliJ IDEA&#xff0c;是Java语言开发的集成环境&#xff0c;IntelliJ在业界被公认为最好的java开发工具之一&#xff0c;尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(Git、svn、gith…

idea 2017 破解 可以使用

新版本的 自从升级到idea2017.3之后,之前的license server破解方法貌似已失效.于是找到大神用的破解插件,很好很强大. 安装好idea之后不要打开软件,从http://idea.lanyus.com/下载破解插件&#xff0c;这里面的插件是进行更新的&#xff0c;可能已经不是下面的文件名了&#xf…

IntelliJ idea2017 安装破解

下载 idea的安装包可以去官网下载&#xff0c;地址&#xff1a;IDEA各个历史版本请点击下载&#xff0c;选择自己需要的版本进行下载&#xff0c;本人下载的是ideaIU-2017.3.6.exe版本专业版。 安装 1、开始安装&#xff0c; 双击ideaIU-2017.3.6.exe&#xff0c;运行安装文…

intelliJ idea 2017破解

一、先进入Intellij IDEA的官网&#xff1a;https://www.jetbrains.com&#xff0c;下载安装 二、破解。 网上的破解方法较多&#xff0c;总结下来大概有下面几种办法供大家作为参考 声明&#xff1a;破解用于学习和试用&#xff0c;如果有经济条件的话&#xff0c;请支持…

idea 2017 破解方法

一、先进入Intellij IDEA的官网&#xff1a;https://www.jetbrains.com&#xff0c;下载安装 二、破解。 网上的破解方法较多&#xff0c;总结下来大概有下面几种办法供大家作为参考 声明&#xff1a;破解用于学习和试用&#xff0c;如果有经济条件的话&#xff0c;请支持…

IDEA 2017破解补丁方法

本文使用破解方式注册。 下载破解文件JetbrainsCrack-2.6.2.jar 下载地址&#xff1a; http://download.csdn.net/detail/gnail_oug/9824630 http://idea.lanyus.com/ 开始破解 一、将下载的 JetbrainsCrack-2.6.2.jar 破解补丁放在你的安装idea下面的bin的目录下面&#xff0…