码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • webpack打包基础


    文章目录

    • 一、目的
    • 二、项目结构
    • 三、基本的打包过程
    • 四、编写页面和JavaScript代码
    • 五、打包所需的配置文件
    • 六、效果


    一、目的

    把js代码按照自己的规则组织合并为一个或多个js文件
    
    • 1

    二、项目结构

    项目结构

    三、基本的打包过程

    • 1.首先要安装了node环境,然后初始化

      • npm init //产生package.json
    • 2.在项目内安装webpack和webpack-cli

      • npm install webpack --save-dev //把相关配置写入package.json和package-lock.json文件并下载文件到node_modules
      • npm install webpack webpack-cli --save-dev //把相关配置写入package.json和package-lock.json文件并下载webpack-cli
    • 3.设置打包配置文件webpack.dev.js

    • 4.执行打包命令

      • node_modules/.bin/webpack --config=conf/webpack.dev.js
      • 将编译好的程序打包到build中
    • 5.index.html引用打包好的程序进行页面加载

    注:安装完webpack、webpack-cli的package.json中文件和内容都是自动生成的

    四、编写页面和JavaScript代码

    • 概述

      • app.js和append.js为待编译打包的文件
      • index.html中调用的main.js就是前面提到的两个js文件编译打包后的文件
    • index.html

          DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>测试Webpacktitle>
          head>
          <body>
              <div id="webpackdemo">div>
              <script src = "../build/main.js">script>
              
          body>
          html>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
    • app.js

          console.log("编译了app.js");
          let divblock=document.getElementById("webpackdemo");
          divblock.innerHTML="Hello Webpack-使用dev.js配置文件";
      
      • 1
      • 2
      • 3
    • append.js

          console.log("编译了append.js");
      
      • 1

    五、打包所需的配置文件

    • 1.webpack.config.js/webpack.dev.js

          const path = require("path");
          module.exports = {
              mode: "development", //打包为开发模式
              // 入口配置的对象中,属性为输出的js文件名,属性值为入口文件
              entry: {//入口文件,从项目根目录指定,可以区分打包方式
                  main:["./src/app","./src/append"]
              }, 
              output: { //输出路径和文件名,使用path模块resolve方法将输出路径解析为绝对路径
                  path: path.resolve(__dirname, "../build"), //将js文件打包到dist/js的目录
                  filename: "[name].js" //使用[name]打包出来的js文件会分别按照入口文件配置的属性来命名
              },
          }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
    • 2.有多种打包方式

      • 多个js分别打包
      • 几个js合并打包-上面的代码就是指定两个编译到main.js
      • 所有js合并打包
    • 3.打包方式具体可以参考一下这篇文章
      https://blog.csdn.net/weixin_36185028/article/details/81117730

    • 4.打包执行输出
      打包执行

    • 5.注意
      webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换。

    六、效果

    • 打开页面,查看使用编译后的main.js的输出内容
      打包编译效果
  • 相关阅读:
    Linux命令(96)之seq
    山东涛雒镇万亩水稻 国稻种芯·中国水稻节:日照迎来收割季
    Docker-可视化管理工具总结-推荐使用Portainer
    昨晚直播小鱼搞了个开源库之FishProtocol,目前已经两颗星
    软件人和硬件人有啥区别?
    Fabric.js 拖拽顶点修改多边形形状
    会计凭证概述、原始凭证、原始凭证的种类、原始凭证的基本内容、原始凭证的填制要求、原始凭证的审核
    运算放大器 —— 快速复苏笔记[贰](应用篇)
    单例模式学习
    GJB 5000B-2021下载-见文章结尾
  • 原文地址:https://blog.csdn.net/hehe_soft_engineer/article/details/126886327
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号