Entry Points

如“ 入门”中所述,有多种方法可以entry在webpack配置中定义属性。我们会告诉你,你的方法可以配置的entry属性,除了解释为什么它可能对你有用

Single Entry (Shorthand) Syntax

Usage: entry: string|Array<string>

webpack.config.js

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

The single entry syntax for the entry property is a shorthand for:

module.exports = {
entry: {
main: './path/to/my/entry/file.js'
}
};
传递数组时会发生什么entry?将一组文件路径传递给entry属性会创建所谓的“多主条目”。当您想要将多个依赖文件一起注入并将其依赖关系映射到一个“块”时,这非常有用。

当您希望为具有一个入口点(即库)的应用程序或工具快速设置webpack配置时,这是一个很好的选择。但是,使用此语法扩展或扩展配置的灵活性不大。

对象语法

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

webpack.config.js

module.exports = {
entry: {
app: './src/app.js',
vendors: './src/vendors.js'
}
};

对象语法更详细。但是,这是在应用程序中定义条目/条目的最具扩展性的方法。

“可扩展的webpack配置”是可以重用并与其他部分配置组合的配置。这是一种流行的技术,用于按环境,构建目标和运行时分离关注点。然后使用webpack-merge等专用工具合并它们

方案

以下是条目配置及其实际用例列表:

单独的应用程序和供应商条目

webpack.config.js

module.exports = {
entry: {
app: './src/app.js',
vendors: './src/vendors.js'
}
};

这是做什么的?在票面价值,这告诉的WebPack创建开始在两个依赖关系图app.jsvendors.js。这些图完全独立且彼此独立(每个包中都有一个webpack引导程序)。这通常适用于只有一个入口点(不包括供应商)的单页面应用程序。

为什么?此设置允许您利用CommonsChunkPlugin应用程序包中的任何供应商参考并将其提取到供应商捆绑包中,并将其替换为__webpack_require__()调用。如果应用程序包中没有供应商代码,那么您可以在webpack中实现一种称为长期供应商缓存的通用模式。

多页面应用程序

webpack.config.js

module.exports = {
entry: {
pageOne: './src/pageOne/index.js',
pageTwo: './src/pageTwo/index.js',
pageThree: './src/pageThree/index.js'
}
};

这是做什么的?我们告诉webpack我们想要3个独立的依赖图(如上例所示)。

为什么?在多页面应用程序中,服务器将为您提取新的HTML文档。该页面重新加载此新文档,并且资源已重新加载。但是,这为我们提供了做多件事的独特机会:

  • 用于CommonsChunkPlugin在每个页面之间创建共享应用程序代码包。随着入口点数量的增加,在入口点之间重用大量代码/模块的多页面应用程序可以从这些技术中受益匪浅。
根据经验:对于每个HTML文档,只使用一个入口点。

对webpack的初步研究2的更多相关文章

  1. 对webpack的初步研究8

    模块 编辑文档 在模块化编程中,开发人员将程序分解为称为模块的离散功能块. 每个模块的表面积小于完整程序,使验证,调试和测试变得微不足道.编写良好的模块提供了可靠的抽象和封装边界,因此每个模块在整个应 ...

  2. 对webpack的初步研究7

    Configuration 您可能已经注意到很少有webpack配置看起来完全相同.这是因为webpack的配置文件是导出对象的JavaScript文件.然后,webpack根据其定义的属性处理此对象 ...

  3. 对webpack的初步研究6

    Plugins 插件是webpack 的支柱.webpack本身构建在您在webpack配置中使用的相同插件系统上! 它们也是这样做的目的别的,一个装载机无法做到的. Anatomy webpack  ...

  4. 对webpack的初步研究5

    Loaders 加载器是应用于模块源代码的转换.它们允许您在处理import或“加载” 文件时预处理文件.因此,加载器有点像其他构建工具中的“任务”,并提供了处理前端构建步骤的强大方法.加载器可以将文 ...

  5. 对webpack的初步研究4

    Mode string module.exports = { mode: 'production' }; webpack --mode=production The following string ...

  6. 对webpack的初步研究3

    Output配置output配置选项告诉webpack如何将编译后的文件写入磁盘.请注意,虽然可以有多个entry点,但只output指定了一个配置. A filename to use for th ...

  7. 对webpack的初步研究1

    一.概念: 1.webpack的核心是用于现代JavaScript应用程序的静态模块捆绑器.当webpack处理您的应用程序时,它会在内部构建一个依赖关系图,它映射您的项目所需的每个模块并生成一个或多 ...

  8. iOS多线程的初步研究(六)

    iOS多线程的初步研究(六) iOS平台提供更高级的并发(异步)调用接口,让你可以集中精力去设计需完成的任务代码,避免去写与程序逻辑无关的线程生成.运行等管理代码.当然实质上是这些接口隐含生成线程和管 ...

  9. iOS多线程的初步研究3

    iOS多线程的初步研究(三) 弄清楚NSRunLoop确实需要花时间,这个类的概念和模式似乎是Apple的平台独有(iOS+MacOSX),很难彻底搞懂(iOS没开源,呜呜). 官网的解释是说run ...

随机推荐

  1. HashSet 源码分析

    HashSet 1)HashSet 是基于 HashMap 的 Set 接口实现,元素的迭代是无序的,可以使用 null 元素. 创建实例 /** * HashSet基于HashMap实现 */ pr ...

  2. js将html转换为纯文本

    document.body.textContent//firefox浏览器 document.body.innerText//适用ie webkit浏览器 document.body.innerHTM ...

  3. 测开之路一百一十:bootstrap图片

    bootstrap图片 引入bootstrap 原版的图片 bootstrap处理后的: 圆角.圆形.缩略图 自适应窗口

  4. UI自动化之特殊处理四(获取元素属性\爬取页面源码\常用断言)

    获取元素属性\爬取页面源码\常用断言,最终目的都是为了验证我们实际结果是否等于预期结果 目录 1.获取元素属性 2.爬取页面源码 3.常用断言 1.获取元素属性 获取title:driver.titl ...

  5. 自翻唱龙珠超OP2【限界突破X幸存者】

    娱乐向:自翻唱龙珠超OP2[限界突破X幸存者] 翻唱度盘下载>> MP4: http://video.yingtu.co/0/e20dad3b-14d1-47a4-ad26-196a961 ...

  6. 【BASIS系列】SAP 批量锁住用户和TCODE的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[BASIS系列]SAP 批量锁住用户和TCOD ...

  7. SpringCloud启动Eureka server时报错 java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present

    SpringBoot打开Eureka server时出现以下错误: java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext ...

  8. Good teachers,they inspire you, they entertain you,and you end up learning a ton even when you don't know it.

    pardon. v. 原谅.抱歉.再说一次 honourable.adj.值得钦佩的 specification.n.规格.标准 amongst.prep.在...中 gallon.n.加仑 comp ...

  9. ubuntu 虚拟机配置 IP、子网掩码、网关、DNS

    ubuntu 虚拟机配置 IP.子网掩码.网关.DNS 执行 sudo vim /etc/network/interfaces 添加如下配置: auto eth0 iface eth0 inet st ...

  10. WOJ#3836 Sightseeing Trip

    描述 给定一张无向图,求图中一个至少包含 3 个点的环,环上的节点不重复,并且环上的边的长度之和最小.该问题称为无向图的最小环问题.在本题中,你需要输出最小环的方案,若最小环不唯一,输出任意一个均可. ...