码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • webpack核心


    前言

    一句话讲明webpack是什么?

    webpack是整合众多语法及技术的建置工具

    webpack 是JavaScript 应用程式的模组打包器。

    翻译:webpack 本身只看得懂 JavaScript 与 Json 档,对于其他的模组,需要借助 Loaders 帮忙解析。

    webpack 解决了什么问题?
    • 利用打包过程解决模组化问题:webpack 为了可以产生 bundle ,它会解析模组与模组间的相依关系
    • 利用 Loaders 解决新技术载入问题:webpack 的Loaders 的作用就是转换各模组成为 webpack 能理解的模组

    核心概念 - webpack 中任何东西皆为模组

    以.js、.css、.png、.svg… 等各种档案在 webpack 内都是一个个的模组。

    将万物皆模组的概念放在心上, webpack 的学习就变得十分简单了。

    插件

    webpack 在建置的过程中,会依序触发不同的事件钩子,借以完成各个时期的工作,而 Plugins 可以借着这些事件钩子执行其所设定的工作。

    Plugins 使得 webpack 有了更强大的能力,小如建置前清空输出资料夹、注入环境变数、产生 html 档案,大如配置最佳化等,都与 Plugins 有关系。

    模式

    mode预设为production。

    webpack 在建置时会依照 mode 设定的不同而进行不同的最佳化设定:

    • production: 以生产环境为目标,做 Tree Shaking, Minify… 等以执行效能为导向的最佳化
    • development: 以开发环境为目标,做 Source Map 等以开发便利为导向的最佳化
    entry,output,loader

    entry的预设值为./src/index.js。

    output的预设路径是./dist,而主要的 bundle 名称会是./dist/main.js。

    webpack 的Loaders 的作用就是转换各模组成为 webpack 能理解的模组 webpack 为了可以产生 bundle ,它会解析模组与模组间的相依关系

    ## 帮我们产生 webpack 为基底的起始专案。他会以交互问答的方式完成专案的配置:
    npm install webpack webpack-cli @webpack-cli/init@0.2.2
    npm install webpack webpack-cli --save-dev
    
    ##webpack CLI 会将 root 目录下的 webpack.config.js 做为预设的配置档。如果要指定其他配置档的话,可以下 --config 指令:
    webpack --config webpack.config.prod.js
    
    npm install http-server --save-dev
    ## 改为模组化编程
    npm install lodash -D
    
    npm install file-loader --save-dev
    ##CopyWebpackPlugin可以帮助我们把档案从 A 地复制到 B 地,我们告诉 CopyWebpackPlugin 要把 public 目录中的档案复制到 dist 目录中
    npm install copy-webpack-plugin --save-dev 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
     "scripts": {"build": "webpack"}npm run build 
    
    • 1
  • 相关阅读:
    [CISCN2019 华北赛区 Day1 Web2]ikun
    中电金信开启2023公益助学活动,以公益之光,守护童年梦想!
    ChatGPT:怎么用Java调出来文件选择器,然后返回文件的位置和名称?Swing 组件和 AWT 组件:Java GUI 编程的不同之处
    【实战详解】如何快速搭建接口自动化测试框架?Python + Requests
    怎么使用Java运算符和JShell脚本工具
    Decorator 装饰者模式简介与 C# 示例【结构型4】【设计模式来了_9】
    2022年全球及中国工程流体Engineered Fluids行业头部企业市场占有率及排名调研报告
    Deployment控制器
    NPDP认证|制造业产品经理日常工作必备技能,快来学习提升吧!
    Text-to-SQL小白入门(六)Awesome-Text2SQL项目介绍
  • 原文地址:https://blog.csdn.net/web2022050903/article/details/126483357
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号