zoukankan      html  css  js  c++  java
  • kkb --- webpack实战

    体验webpack

    • npm init -y
    • 局部安装webpack:  (不推荐全局安装,全局安装会造成版本不稳定,如果多个项目依赖的版本不同,会造成构建失败)
    • npm i webpack webpack-cli -D
    • 查看webpack版本:   npx webpack -v   (去当前项目中去找)
    • 创建src目录,新建 index.js 文件,写入  console.log('hello webpack')
    • 打开 package.json 文件,将scripts下的 test命令修改为  "test": "webpack"
    • 在命令行执行 npm run test后,此时发现目录中多个个dist文件夹,新建个 index.html 文件,然后引入dist中的 main.js 就可以查看到 hello webpack

    webpack is a module bundle(模块打包工具)

    Webpack是一个打包模块化JavaScript的工具,它会从入口模块出发,识别出源码中的模块化导入语句,递归的找出入口文件的所有依赖,将入口和其所有的依赖打包到一个单独的文件中。

    是工程化、自动化思想在前端开发中的体现。

    webpack的默认配置

    • 默认入口模块
      • ./src/index.js
    • 默认输出模块
      • 名称: main.js
      • 路径:./dist
    • webpack默认支持多种模块类型:commonJS、ESModule、AMD
    • webpack默认支持 js 模块和 json 模块

    webpack不适合用于 JavaScript 库的构建,因为不够纯粹,库一般用 rollup 构建

    修改默认配置

    新建 webpack.config.js 文件

    const path = require('path')
    
    module.exports = {
      // webpack的执行入口
      entry: './src/index.js',
      // 输出
      output: {
        // 输出到哪里,必须是绝对路径
        path: path.resolve(__dirname, "./dist"),
        filename: "main.js"
      },
      // 模式(开发模式或生产模式)
      mode: "development"
    }

    使用多份配置:

    新建 webpack.dev.config.js 文件

    const path = require('path')
    
    module.exports = {
      // webpack的执行入口
      entry: './src/index.js',
      // 输出
      output: {
        // 输出到哪里,必须是绝对路径
        path: path.resolve(__dirname, "./build"),
        filename: "index.js"
      },
      // 模式(开发模式或生产模式)
      mode: "development"
    }

    在 package.json 文件的scripts下加入:

    "dev": "webpack --config webpack.dev.config.js"
    执行 npm run dev 就会执行 webpack.dev.config.js 这份配置
     
    项目中使用图片,webpack需要使用 loader来解析图片
    • 安装:npm i file-loader -D
    • 在webpack的配置文件中使用loader
    // 处理模块
    module: {
      rules: [
        // .css .png .ts .jsx等多种类型的格式文件
        // 处理图片
        {
          test: /.(jpe?g|png|gif)$/,
          use: ["file-loader"]
        }
      ]
    }
    • 在项目中使用图片
    import pic from './logo.jpg'
    
    var img = new Image()
    img.src = pic
    
    var app = document.getElementById('app')
    app.append(img)
  • 相关阅读:
    根据IP获取省市 .
    支付宝接口使用步骤及总结
    最新调用优酷视频 免前置广告的方法
    SQL新增数据取表主键最新值
    JS获取地址栏参数
    图片(img标签)的onerror事件
    prototype.js的Ajax对IE8兼容问题解决方案
    基于.net技术的 Rss 订阅开发
    JS获取Dropdownlist选中值
    阿里云tomcat启动慢
  • 原文地址:https://www.cnblogs.com/haishen/p/11973327.html
Copyright © 2011-2022 走看看