WebPack的使用及属性配、打包资源

WebPack(静态模块打包工具)(webpack默认只识别js和json内容)

WebPack的作用

把静态模块内容压缩、整合、转译等(前端工程化)

1️⃣把less/sass转成css代码

2️⃣把ES6+降级成ES5

3️⃣支持多种模块文件类型,多种模块标准语法

export、export default、module.exports、exports

导出方法的区别:参考文章

WebPack的使用(WebPack支持ECMA语法)

js 复制代码
//--save-dev 表示在开发环境中使用而不安装到全局
npm i webpack-cli --save-dev

在package.json中加入自定义命令build(自己定义的,一般都用build)

运行工具命令

js 复制代码
npm run build

生成dist文件

生成的main.js为src目录下的压缩文件,运行打包好的文件如下

修改WebPack打包入口和出口

点击查看webpack文档

在根目录下创建webpack.config.js文件,进行修改配置

复制代码
可以在出口中添加 clean:true 来清空dist重新创建

打包资源

WebPack自动生成HTML

插件 html-webpack-plugin:在webpack打包时生成html文件

下载:

js 复制代码
npm install --save-dev html-webpack-plugin

配置

js 复制代码
const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');

module.exports = {
  entry: 'index.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    filename: 'index_bundle.js',
  },
  plugins: [new HtmlWebpackPlugin()],//默认生成一个最简单的html5页面  //HtmlWebpackPlugin({template:path.join(_dirname,'文件路径')})  //以指定文件为模板
//    plugins: [new HtmlWebpackPlugin({ template: path.resolve(__dirname, './public/index.html') })]
};

webpack打包css模块

js 复制代码
npm i css-loader style-loader --save-dev
JS 复制代码
   module: {
        rules: [{
            test: /\.css$/i,
            use: ["style-loader", "css-loader"]
        }]
    }

打包less模块

js 复制代码
//less-loader将less转为css,因为浏览器只认识css
 module: {
        rules: [{
            test: /\.css$/i,
            use: ["style-loader", "css-loader"]
        },
        {
            test: /\.less$/i,
            use: ["style-loader", "css-loader","less-loader"]
        }]
    }

打包图片

//type:'asset',根据文件大小(8kb)小于:把文件转成base64打包进js文件中(减少网络请求次数),大于:文件复制到输出的目录下

复制代码
//在入口文件中引入图片
import img from './assets/logo.png'

babel编译器

WebPack开发服务器

还需要配置package.json文件,同时切换模式为开发者模式(不进行打包),自动监听入口文件的变化

js 复制代码
运行服务器
npm run dev
//自动打开网页修改配置为
 "dev": "webpack server --open --mode=development"

打包模式

开发环境调错-source map

可以定位错误具体的位置而不是错误在压缩文件中的位置

注意:只在开发环境下使用

解析别名alias

在webpack.config.js中配置

在入口文件中使用别名时,入口文件会到webpack中通过别名找真正的路径

配置:

相关推荐
负责的蛋挞10 小时前
异步HttpModule的实现方式
java·服务器·前端
丹宇码农12 小时前
把 HLS 字幕玩出花:zwPlayer 如何让 M3U8 视频支持全文搜索、翻译与码率自适应
前端·javascript·音视频·hls·视频播放器
2501_9437823512 小时前
【共创季稿事节】猜数字游戏:二分法思维与交互式反馈
前端·游戏·microsoft·harmonyos·鸿蒙·鸿蒙系统
GV191rLvq13 小时前
基于Socket实现的最简单的Web服务器【ASP.NET原理分析】
服务器·前端·asp.net
吠品13 小时前
LangChain 里 tool_call_id 为空?一次 MCP 工具集成的排查记录
前端
微信开发api-视频号协议13 小时前
企业微信二次开发中的文件系统设计:媒体资源、临时文件与业务附件
前端·微信·企业微信·媒体·ipad·微信开放平台
柒和远方13 小时前
Phase 7.4 学习博客:为什么多 API 项目需要 Swagger / OpenAPI
前端·后端·架构
张龙68713 小时前
拼多多开放平台对接踩坑实录:从 CLIENT_ID 配置到 MD5 签名算法的完整填坑指南
前端
GuWenyue13 小时前
提示词彻底过时?一套上下文工程方案,3步让LLM落地生产,代码直接复用
前端·javascript·人工智能