zoukankan      html  css  js  c++  java
  • webpack基础概念

    中文文档:https://webpack.docschina.org/concepts/

    一个现代 JavaScript 应用程序的静态模块打包器(static module bundler)。

    在 webpack 处理应用程序时,它会在内部创建一个依赖图(dependency graph),用于映射到项目需要的每个模块,然后将所有这些依赖生成到一个或多个bundle

    • entry
    • output
    • loader
    • plugins

    入口起点(entry point)指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始,webpack 会找出有哪些模块和 library 是入口起点(直接和间接)依赖的。

    #webpack.config.js
    
    module.exports = {
      entry: './path/to/my/entry/file.js'
    };

    output 属性告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,主输出文件默认为 ./dist/main.js,其他生成文件的默认输出目录是 ./dist

    你可以通过在配置中指定一个 output 字段,来配置这些处理过程:

    webpack.config.js

    const path = require('path');
    
    module.exports = {
      entry: './path/to/my/entry/file.js',
      output: {
        path: path.resolve(__dirname, 'dist'),   #打包完成后,生成emit到哪里。
        filename: 'my-first-webpack.bundle.js'   #要打包的文件的名字
      }
    };

    webpack 自身只支持 JavaScript。而 loader 能够让 webpack 处理那些非 JavaScript 文件,并且先将它们转换为有效 模块,然后添加到依赖图中,这样就可以提供给应用程序使用。

    loader 能够 import 导入任何类型的模块(例如 .css 文件)

    loader 被用于转换某些类型的模块,而插件则可以用于执行范围更广的任务,插件的范围包括:打包优化、资源管理和注入环境变量。

    模式 

    通过将 mode 参数设置为 developmentproduction 或 none,可以启用对应环境下 webpack 内置的优化。默认值为 production

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

    dependency graph 依赖图

    任何时候,一个文件依赖于另一个文件,webpack 就把此视为文件之间有依赖关系。这使得 webpack 可以接收非代码资源(non-code asset)(例如图像或 web 字体),并且可以把它们作为_依赖_提供给你的应用程序。

    什么是 webpack 模块

    对比 Node.js 模块,webpack _模块_能够以各种方式表达它们的依赖关系,几个例子如下:

    • ES2015 import 语句
    • CommonJS require() 语句
    • AMD define 和 require 语句
    • css/sass/less 文件中的 @import 语句
    • 样式(url(...))或 HTML 文件(<img src=...>)中的图片链接(image url)

  • 相关阅读:
    几种网络LeNet、VGG Net、ResNet原理及PyTorch实现
    学习Faster R-CNN代码faster_rcnn(八)
    应用安全
    应用安全
    应用安全
    应用安全
    应用安全
    渗透测试
    应用安全
    应用安全
  • 原文地址:https://www.cnblogs.com/chentianwei/p/9877570.html
Copyright © 2011-2022 走看看