欢迎光临
我们一直在努力

Webpack主要知识梳理

webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。它将项目中的各种资源(如 JavaScript、CSS、图片等)视为模块,并通过依赖关系将它们打包成优化的静态资源,适用于生产环境部署

详细请看官方文档:https://www.webpackjs.com/

配置环境

安装yarn

npm install yarn -g

初始化文件

yarn init -y

安装webpack

yarn add -D webpack webpack-cli

创建src文件夹

在src中创建index.js文件

配置webpack

创建webpack.config.js

module.exports={

}

打包命令

yarn webpack

webpack

1.入口(Entry)

入口起点(entry point) 指示 webpack 应该使用哪个模块,来作为构建其内部 依赖图(dependency graph) 的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的。

默认值是 ./src/index.js,但你可以通过在 webpack configuration 中配置 entry 属性,来指定一个(或多个)不同的入口起点

module.exports={
// entry:"./src/index.js"
// entry:["./src/index.js","./src/hello.js"]
entry:{
index:"./src/index.js",
hello:"./src/hello.js"
}
}

第一种只打包index.js

第二种index.js和hello.js一起打包在一个js文件里

第三种分别打包为两个js文件

2.输出(Output)

output 属性告诉 webpack 在哪里输出它所创建的 bundle,以及如何命名这些文件。主要输出文件的默认值是 ./dist/main.js,其他生成文件默认放置在 ./dist 文件夹中。

你可以通过在配置中指定一个 output 字段,来配置这些处理过程:

声明path

const path = require("path");
output: {
clean: true,
// filename: "[hash].js",
path: path.resolve(__dirname, "dist")
},

clean:清除之前打包文件

filename:设置打包后的js文件名称

path:指定打包到哪个文件夹(__dirname为初始名字)

3.模式 Mode

设置开发或生产环境,默认启用对应优化(如代码压缩)

mode: 'production',

mode: "development"

4.加载器(Loader)

webpack 只能理解 JavaScript 和 JSON 文件,这是 webpack 开箱可用的自带能力。loader 让 webpack 能够去处理其他类型的文件,并将它们转换为有效 模块,以供应用程序使用,以及被添加到依赖图中

loader有两个属性

  • test 属性,识别出哪些文件会被转换,匹配文件的正则表达式(如 /\\.js$/)
  • use 属性,定义出在进行转换时,应该使用哪个 loader
  • Css样式

    安装

    npm install –save-dev css-loader

    npm install –save-dev style-loader

    使用

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

     5.插件(plugin)

    loader 用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量

    想要使用一个插件,你只需要 require() 它,然后把它添加到 plugins 数组中

    const HtmlWebpackPlugin = require('html-webpack-plugin');

    页面渲染(html5)

    该插件将为你生成一个 HTML5 文件, 在 body 中使用 script 标签引入你所有 webpack 生成的 bundle。 只需添加该插件到你的 webpack 配置中

    npm install –save-dev html-webpack-plugin
    plugins: [
    new HtmlWebpackPlugin({
    template: "./index.html"
    })
    ]

    ./index.html 依赖文件

    开发服务器

    webpack开发服务器(webpack-dev-server)是一个基于Express的轻量级服务器,专为webpack项目提供实时重新加载(Live Reloading)和模块热替换(HMR)功能。它通过内存编译文件,避免写入磁盘,显著提升开发效率

    安装依赖

    yarn add -D webpack-dev-server
    npm install -D webpack-dev-server

    在webpack.config.js中配置开发服务器:

    module.exports = {
    devServer: {
    static: './dist', // 静态文件目录
    hot: true, // 启用模块热替换
    port: 8080, // 指定端口
    open: true, // 自动打开浏览器
    },
    };

    终端启动

    yarn webpack serve //打包服务器
    yarn webpack serve –open //自动打包

    这就是我的本次分享

    赞(0)
    未经允许不得转载:171主机测评 » Webpack主要知识梳理
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址