• webpack4基础入门操作(二)(讲解下webpack的配置内容)


    前序:我之所以开始写这个系列,是因为我最近出去看了下外面的情况,发现技术更新的脚步太快了。我的技术栈已经完全落伍了。

    所以准备今年学习写新的东西,而React、webPack4就是我的第一步。前面我看了React的相关内容后,不太明天如何打包,所以有了写这个系列的想法。

    上一章讲到:在package.json文件中添加“scripts”配置:"build": "webpack --progress --colors",就可以在控制台直接使用npm run build做编译。为啥呢?

    今天要讲解最基础的内容:webpack4的基础配置元素:(以下内容本人都是学习官网)

    • 入口(entry)
    • 输出(output)
    • loader
    • 插件(plugins)
    • 模式

    入口(entry):就是告诉打包工具,模块的门在哪里。指定初始运行的JS文件,并根据此文件构建其内部依赖图。

    module.exports = {
      entry: './path/my/file.js'
    };

    输出(output):就是告诉打包工具,你打包集成的文件放哪里,名称叫啥。输出对应的打包文件。

    const path = require('path');
    
    module.exports = {
      entry: './path/my/file.js',
      output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'myfirstbundle.js'
      }
    };

    loader:webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript),如:css、ts等。

    const path = require('path');
    
    const config = {
      output: {
        filename: 'myfirstbundle.js'
      },
      module: {
        rules: [
          { test: /.txt$/, use: 'raw-loader' }
        ]
      }
    };
    
    module.exports = config;
    

    以上配置中,对一个单独的 module 对象定义了 rules 属性,里面包含两个必须属性:test 和 use。这告诉 webpack 编译器(compiler) 如下信息:

    “嘿,webpack 编译器,当你碰到「在 require()/import 语句中被解析为 '.txt' 的路径」时,在你对它打包之前,先使用 raw-loader 转换一下。”

    插件(plugins):loader 被用于转换某些类型的模块,而插件则可以用于执行范围更广的任务,除了转换以外的事情。

    const HtmlWebpackPlugin = require('html-webpack-plugin'); // 通过 npm 安装
    const webpack = require('webpack'); // 用于访问内置插件
    
    const config = {
      module: {
        rules: [
          { test: /.txt$/, use: 'raw-loader' }
        ]
      },
      plugins: [
        new HtmlWebpackPlugin({template: './src/index.html'})
      ]
    };
    
    module.exports = config;
    

    webpack 提供许多开箱可用的插件!查阅我们的插件列表获取更多信息。

    模式 :通过选择 development 或 production 之中的一个,来设置 mode 参数,你可以启用相应模式下的 webpack 内置的优化

    module.exports = {
      mode: 'production'
    };
    

    到了这里我们已经有了一个基本的概念。问题是:现在都是一个入口和一个输出。真正的项目不可能这样。那么如何多个入口呢?

    其次常用的插件库有哪些?作用是啥? 常用的loader有哪些?作用是啥?都不清楚。所以我们还是菜鸟中的菜鸟。只是站在门口看了一眼,还只是看见了一角,所以继续后续吧。

    就到这,我也才开始学习,我后面基本会保持两天一更的。努力吧,少年~

  • 相关阅读:
    BZOJ 4726: [POI2017]Sabota? 树形dp
    Codeforces Round #381 (Div. 1) B. Alyona and a tree dfs序 二分 前缀和
    uestc_retarded 模板
    CROC 2016
    Codeforces Round #381 (Div. 1) A. Alyona and mex 构造
    BZOJ 2648: SJY摆棋子 kdtree
    BZOJ 3732: Network 最小生成树 倍增
    HDU 5914 Triangle 数学找规律
    HDU 5902 GCD is Funny 数学
    Codeforces Round #379 (Div. 2) E. Anton and Tree 缩点 直径
  • 原文地址:https://www.cnblogs.com/kimi-gyj/p/webpack4-2.html
Copyright © 2020-2023  润新知