入口起点(Entry Points)

单个入口(简写)语法:

用法:entry: string|Array<string>

entry 属性的单个入口语法,是下面的简写

当你向 entry 传入一个数组时会发生什么?向 entry 属性传入「文件路径(file path)数组」将创建“多个主入口(multi-main entry)”。传入数组这种方式有助于,在你想要多个依赖文件一起注入,并且将它们的依赖导向(graph)到一个“chunk”时。

对象语法:

用法:entry: {[entryChunkName: string]: string|Array<string>}

这里指定了两个入口,这里的 app 和 vendors 作为入口的名字,在配置 output 的时候可以用到

分离 应用程序(app) 和 公共库(vendor) 入口:


从表面上看,这告诉我们 webpack 从 app.js 和 vendors.js 两个入口文件开始创建依赖图表(dependency graph)。这些图表是彼此完全分离、互相独立的(每个 bundle 中都有一个 webpack 引导(bootstrap))。这种方式比较常见于,只有一个入口起点(不包括公共库 vendor)的单页应用程序(single page application)中。
假设 app 中引用了 vendors,这个时候打包后,app 中依旧包含了 vendors 中的代码,为此,需要使用 CommonsChunkPlugin 这个插件。来去除掉 app 中存在于 vendors 中的代码。使用了这个插件之后,会得到一个 commom 模块,vendors 模块中只有一句话,就是引用这个 common 模块。这种情况,可以配置 CommonsChunkPlugin 插件,让它得到的 common 模块的命名和 vendors 一样,这样就把 vendors 覆盖了。

多个页面应用程序:


我们告诉 webpack 需要 3 个独立分离的依赖图表

假如有 3 个页面,他们都应用了其中一个库,由于是单页应用,每次跳转都会刷新页面,重新加载脚本,因此可以将三个页面公用的类库打包为单个文件,这样其他页面可以利用前一个页面缓存下来的类库。同样的这个时候,也需要使用到 CommonsChunkPlugin 这个插件

Webpack基础之入口起点相关推荐

  1. webpack的入口起点(EntryPoints)

    单个入口(简写)语法 用法: entry:string|Array<string> 举例: webpack.config.js const config = {entry: './path ...

  2. webpack基础学习,各个loader和plugin的具体配置

    一.邂逅Webpack Webpack是什么 webpack是一个静态的模块化打包工具,为现代的JavaScript应用程序: 打包bundler:webpack可以将帮助我们进行打包,所以它是一个打 ...

  3. webpack基础篇(五):代码分离(Code Splitting)

    常用的代码分离方法有三种 1. 入口起点 问题 2. 防止重复 2.1 配置 entry 提取公用依赖 2.2 SplitChunksPlugin 3. 动态导入 3.1 import() 动态导入 ...

  4. webpack基础概念

    中文文档:https://webpack.docschina.org/concepts/ 一个现代 JavaScript 应用程序的静态模块打包器(static module bundler). 在 ...

  5. webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server

    一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...

  6. webpack基础webpack-dev-server配置

    webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server 一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根 ...

  7. webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server - QxQstar - 博客园

    一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...

  8. Webpack基础之输出

    输出(Output) output 选项控制 webpack 如何向硬盘写入编译文件.注意,即使可以存在多个入口起点,但只指定一个输出配置 用法(Usage): 在 webpack 中配置 outpu ...

  9. webpack基础篇(三):管理资源(image、css、fonts、csv、json5)

    目录 1. 处理资源 - loader 1.1 加载css - css-loader 1.2 处理less - less-loader 2. 加载css 2.1 抽离css 自定义分类的css文件名 ...

最新文章

  1. Java面试查漏补缺
  2. Linux常用命令大全-toolfk程序员在线工具网
  3. webmagic 获取文本_学习使用Java的webmagic框架爬取网页内容
  4. RT-Flash imxrt 系列rt1052 rt1060量产神器宣传
  5. N皇后问题的解(洛谷P1219题题解,Java语言描述)
  6. python typing与之配合_python 代码实例1
  7. php7 验证url格式,url的组成格式为
  8. sqlserver2012——XML查询
  9. python中if控制语句_Python 极简教程(十二)逻辑控制语句 if else
  10. jquery 添加可操作,编辑不可操作
  11. c语言编写打字母游戏代码,求一个用C语言编写的小游戏代码
  12. 用图818“女版乔布斯”霍姆斯定罪前后的轨迹
  13. 【数据分析】京东订单数据分析思路及Python代码
  14. SpinLock 锁实现
  15. IP地址在计算机的存储
  16. [SV]SystemVerilog学习笔记之struct union
  17. BI平台:怎么进行报表的开发和搭建
  18. 201712-4 行车路线 ccf
  19. 网站发送邮箱验证实现找回密码
  20. 电脑装Windows+Ubuntu双系统,及后续调整硬盘和系统重装之后相关的引导问题

热门文章

  1. js 数组遍历符合条件跳出循环体_C++模拟面试:从数组“紧凑”操作说开来
  2. mybatis 多租户saas_彻底理解微商城多租户Saas架构设计
  3. Canvas制作动态进度加载水球
  4. 面向过程 VS 面向对象
  5. Linux下安装nginx, php, php-fpm并配置
  6. react学习(72)--row上面加样式
  7. 前端学习(2972):使用mock假数据
  8. 前端学习(2971):前一天回顾
  9. [html] 你知道什么是粘性布局吗?
  10. [html] 可替换元素和不可替换元素有什么不同的特点?