webpack打包工具简单使用

news/2024/7/19 15:18:01 标签: vue.js, js, html5, javascript, es6

webpack–打包工具

1.6.1 打包工具最本质的打包

第一步:安装特定版本

旧版本:npm install -save-dev webpack -D   
后面加上-D是表示开发时使用,上线后就不再使用。
如果使用webpack4+版本还需要安装一个webpack-cli的插件

npm install --save-dev webpack-cli -D

整体安装:npm i webpack webpack-cli -D

第二部:配置模式为开发模式

javascript">module.exports = {
  mode: "development", //配置打包模式为开发模式
};

第三步:配置入口文件和出口文件

默认入口文件为src下面的index.js文件,配置出口文件和入口文件的时候建议
写物理路径。

javascript">//1、引入路径文件
const path = require("path");
module.exports = {
  mode: "development", //配置打包模式为开发模式
 //2、配置入口文件
  entry: path.join(__dirname, "src", "index.js"), 
 //3、出口文件
  output: {
 //4、配置出口文件的路径
    path: path.join(__dirname, "dist"),
 //5、配置出口文件的名称
    filename: "bundle.js", 
  },
};

第三步:指定命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MapsJLjd-1616068155784)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210309144725191.png)]

最后,执行打包命C:\Users\Administrator\Desktop\网课\Vue\Vue第七天+webpack 打包工具\My_code\src\index.html令 :

npm run dev

缺点:每一次修改时都需要重新运行命令很麻烦。

1.6.2 解决每次修改代码重新打包问题。
1.6.2.1工具webpack-dev-server让打包具有实施重新加载。

第一步:通过命令安装

npm install --save-dev webpack-dev-server -D

第二步:配置webpack.config.js文件

1、在module.exports中增加

javascript"> devServer: {
    contentBase: "./dist",
  },

2、在package.json中修改配置项中的“dev”值设置为webpack serve --open,
(–open可加也可不加,作用是打开网页http://localhost:8080/)

第三步:将src中的index复制一份放到dist目录下。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qq4h8Biv-1616068155785)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210309153851776.png)]

1.6.2.2html-webpack-plugin将src中代码拷贝到dist中。

第一步:通过命令安装

npm install --save-dev html-webpack-plugin -D
npm i loader-utils -D

注意:二者都需要安装不然报错!

第二步:配置webpack.config.js文件

javascript">1、引入html-webpack-plugin
const HtmlWebpackPlugin = require("html-webpack-plugin");
2、配置文件从哪里拷贝,拷贝到哪里去
const htmlPlugins = new HtmlWebpackPlugin({
  template: "./src/index.html", //要拷贝的文件
  filename: "index.html",
});
在module.exports 中调用:
plugins: [htmlPlugins],

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-brxe3KuR-1616068155786)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210309154424468.png)]

最后重新运行打包命令:npm run dev 即,解决了每次更新代码都要打包的问题。

1.6.3加载器

1.6.3.1 打包CSS文件

项目开发时我们虽然可以使用link来引入css文件,但是通过link引入的css文件会多出一个网络请求,而使用打包的方式就不会有网络请求。

link引入时要注意拷贝的文件是在根目录下注意引入路径。

1.6.3.1.1通过loader工具解决css打包

第一步:安装css-loader、style-loader

命令:npm i --save-dev css-loader style-loader

第二步:import引入

import "./css/index.css";
路径时相对于src目录的。

第三步:配置

在module.exports中配置module

javascript">module: {
    rules: [{ test: /\.css$/, use: ["style-loader", "css-loader"] }],
  },
1.6.3.2通过loader工具解决less打包

第一步:安装less和less-loader:

npm i less less-loader --save-dev -D

第二部:配置

在rules规则中新加一条{ test: /\.less$/, use: ["style-loader", "css-loader","less-loader"] }

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kL4x9oiG-1616068155787)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210309162027897.png)]

注意:不要忘记在index.js中import引入less文件。

1.6.3.3webpack处理图片

第一步安装

命令:npm i file-loader url-loader -D

第二部配置webpackage.config.js

{
test:/\.jpg|png/,
use:[{
loader:'url-loader',//使用url-loader来处理图片
options:{
limit:614400
//当图片大小小于limit值时,会将图片转换成base64为的格式打包到出口文件内减少一次网络请求
//当图片大小大于limit值时,会通过网络请求的方式打包到dist文件夹内。
}
}]
}

重新打包即可。

1.6.3.4 webpack处理高级语法

第一步:安装

npm install -D babel-loader @babel/core @babel/preset-env
npm i -D @babel/plugin-proposal-class-properties

第二部:配置
在webpackage.config.js中的rules规则中加入:

javascript">//配置处理高级语法
      {
        test: /\.m?js$/, //处理js文件或mjs文件
        //处理文件时候不处理node_modules和bower_components的文件
        //排除作用
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: "babel-loader", //使用babel-loader处理
          options: {
            presets: ["@babel/preset-env"], //使用babel-loader处理文件时有很多模式,
            //此行代码目的时设置为@bable/preset-env模式来处理文件。
            plugins: ["@babel/plugin-proposal-class-properties"], // 新加的配置
          },
        },
      },

http://www.niftyadmin.cn/n/1618193.html

相关文章

Vue打包最简单的方法(vue脚手架)

使用步骤: 第一步安装vue-cli npm i -g vue/cli可以在PowerShell中安装也可以在vscode中安装。 安装完成后 第二步:创建vue项目 创建命令 vue create 项目名字 例子:vue create hello-world输入命令后会出现一系列的配置选项 选择第三个…

uniapp开发商城系统的核心竞争力在哪?

今天要跟大家聊的是uniapp,国内的互联网可谓是一日千里,保持快速的迭代更新是每个产品必须的特性,否则就会被市场淘汰。 来客推商城系统前端从最初的vuejs前端已经完全过渡到了uniapp开发前端的时代,所有的产品均为uniapp开发&am…

Java可以应用到哪些领域?

从Java语言出现至今一直在软件开发中占据重要位置,当然随着科技的发展,Java的就业方向也在不断变化,到了今天Java的就业前景依然很好,那么JAVA适合领域? Java依靠其跨平台、多线程、高性能等优点在电信、金融、保险、证券、银行…

商城系统应该看重哪些点

最近几年,电子商务席卷全国,很多企业商家都开始投身类似天猫京东类型的商城系统开发,希望借此入局电商领域,但面对繁多的商城系统,如何才能在其中脱颖而出呢?下面就来带大家一起来看一看提升多用户商城系统竞争力的方…

Vue单文件组件传值router-link

组件的传值不同于我们之前的?传值,他需要用到vue规定的传值方法 我们在index.js文件中定义的路由规则中,多了一项name值这起到了我们的连接作用 index.js const routes [{path: "/list/:id",name: "List",component: L…

Vuex学习(1)

Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状 态,并以相应的规则保证状态以一种可预测的方式发生变化 当有一些公共的数据需要影响到多个组件的时候就需要用到vuex了。 使用Vuex管理数据的好处&#xff1a…

为什么建议定制开发app?定制开发有哪些好处

定制开发APP的特点 1、可定制性: 按需定制,只要是你想要实现的功能模块,都是可以开发的,完成一整套的串联功能,形成一一个完整的原生APP。并且能够根据企业在不同运营阶段实现不同的功能,不断更新迭代,满…

云开发(1)使用云开发入门

云开发(1)使用云开发入门 创建一个云开发小程序项目 创建完成后就是这个样子的 打开云开发控制台 点到设置里面可以看到自己的环境ID,一般都会自动创建一个,可以自己创建在环境名称可以切换环境 接下来就是配置云环境了,需要在a…