• 初识webpack


    1.什么是webpack?

    概念:webpack是前端项目工程化的具体解决方案

    主要功能:它提供了友好的前端模块化开发支持,以及代码压缩混淆处理浏览器端JavaScript的兼容性(根据配置,来兼容不同的浏览器版本)、性能优化等强大的功能

    好处:让程序员把工作的重心放到具体功能的实现上,提高了前端开发效率和项目的可维护性。

    注意:目前Vue,React等前端项目,基本上都是基于webpack 进行工程化开发的

    2.创建列表隔行变色项目

    1. 创建项目空白目录,并运行 npm init -y 命令,初始化包管理配置文件 package.json
    2. 新建scr源代码目录
    3. 新建src -> index.html 首页和 src -> index.js 脚本文件
    4. 初始化首页基本的结构
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          <script src="./index.js"></script>
      </head>
      <body>
          <ul>
              <li>这是第1个li</li>
              <li>这是第2个li</li>
              <li>这是第3个li</li>
              <li>这是第4个li</li>
              <li>这是第5个li</li>
              <li>这是第6个li</li>
              <li>这是第7个li</li>
              <li>这是第8个li</li>
              <li>这是第9个li</li>
          </ul>
      </body>
      </html>
      //1.使用ES6导入语法,导入JQuery
      import $ from 'jquery'
      
      //2.定义jQuery的入口函数
      $(function () {
          //3.实现奇偶行变色
          //奇数行为红色
          $('li:odd').css('background-color','red')
          $('li:even').css('background-color','pink')
        })
    5. 运行 npm install jquery -S 命令(全写方式: npm install jquery --save,安装jQuery
    6. 通过 ES6-模块化方式导入jQuery,实现列表隔行变色效果

    3.在项目中安装webpack, 解决import $ from 'jquery'兼容性问题

     在终端运行如下命令,安装webpack相关的两个包:

    npm install webpack@5.42.1 webpack-cli@ -D

    -D 的意思是把下边两个包装到,package.json中 devDependencies目录下,是--save-dev的缩写

    4.在项目中配置webpack

      1. 在项目跟目录中,创建名为webpack.config.js的webpack配置文件,并初始化如下的基本配置:
        //使用 node.js中的导出语法,向外导出一个 webpack的配置对象
        module.exports = {
            //代表 webpack 运行的模式,可选值有两个 development和production
            mode:'production'
        }
      2. 在package.json中配置启动脚本
          "scripts": {
            "dev":"webpack" // script节点下的脚本,可以通过npm执行,例如npm run dev
          }
      3. mode的可选值 ,mode的可选值有两个,分别是
        1. development
          1.   开发环境
          2. 不会对打包生成的文件进行代码压缩和性能压缩
          3. 打包速度快,适合在开发阶段使用
        2. production
          1. 生产环境
          2. 会对打包生成的文件进行代码压缩和性能优化
          3. 打包速度很慢,仅适合在项目发布阶段使用

      1. webpack.config.js是webpack的配置文件
        1.   webpack在真正开始打包构建之前,会先读取这个配置文件,从而基于给定的配置,对项目进行打包。
        2. 注意:由于webpack是基于node.js开发处理的打包工具,因此在他的配置文件中,支持使用node.js相关的语法和模块进行webpack的个性化配置
      2. webpac的默认约定
        1.   在webpack4.X和5.X的版本中,有如下的默认约定
          1. 在默认的打包入口文件为src ->index.js
          2. 默认的输出文件路径为dist->main.js
        2. 注意:可以在webpack.config.js中修改打包的默认约定
      3. 自定义打包的入口与出口
        1. 在webpack.config.js配置文件中,通过entry节点指定打包的入口。通过output节点指定打包的出口,示例代码如下:
          const path = require('path') //导入node.js 中专门操作路径的模块
          
          module.exports = {
              entry:path.join(__dirname,'./src/index.js'),//打包入口文件的路径
              output:{
                  path:path.join(__dirname,'./dist'),//输出文件的存放路径
                  filename:'bundle.js'
              }
          }        
      4. 1
    1. 相关阅读:
      SimpleRetryTemplateSupplier
      Atcoder Grand Contest 013 E Placing Squares(组合意义转化+矩阵快速幂/代数推导,思维题)
      Atcoder Grand Contest 033 D Complexity(dp)
      Vue案例之计数器
      Redis数据类型之List列表类型
      Redis数据类型之Hash哈希类型
      Vue之vfor列表展示
      Vue初体验
      RedisDesktopManager本地连接云服务器上的Redis
      Redis数据类型之ZSet有序集合类型
    2. 原文地址:https://www.cnblogs.com/funkyd/p/16644947.html
    Copyright © 2020-2023  润新知