`

[译]webpack官网文档 :概念 -- 2.入口点

阅读更多

原创翻译,转载请注明出处。

原文地址:https://webpack.js.org/concepts/entry-points

 

就像我们在介绍里提到的那样,在你的webpack配置文件里有很多方法去定义entry属性。我们将给你展示几种方法,并说明它为什么对你有用。

 

单个的Entry(简写)语法

用法:entry: string | Array<string>

 

webpack.config.js

 

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

 

 

这个单个的enry语法是下面的命令的简写:

 

const config ={
  entry:{
    main:'./path/to/my/entry/file.js'
  }
};

 

 

当你想为一个应用或者工具快速设置webpack配置的时候,单个入口点是一个不错的选择。当然,使用这个命令对于扩展或缩减你的配置的时候没有多少灵活性。

 

对象语法

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

 

webpack.config.js

 

const config ={
  entry:{
    app:'./src/app.js',
    vendors:'./src/vendors.js'
  }
};

 

 

这个对象语法更详细一些。但是这是在你的应用里扩展性最好的entry/entries定义方法。

 

脚本

下面是一组entry配置列表和他们的真实用例:

 

分开App和Vendor入口

webpack.config.js

 

const config ={
  entry:{
    app:'./src/app.js',
    vendors:'./src/vendors.js'
  }
};

 

 

它做了些什么?表面上看它告诉webpack用app.js和vendor.js两个文件作为起始,来创建依赖图。这些依赖图将被完全分开并且不依赖于对方而完全独立(在各自的包里将都会有一个webpack引导程序)。这常见于只有一个入口点(不包括vendors)的单页应用。

为什么要这样?这个设置允许你利用CommonChunkPlugin,从你的app包里提取出所有的vendor参照把它们放入vendor包里,通过调用__webpack_require__()放法来替代他们。如果在你的应用包里没有vendor代码,那你可以实现一种共通的模式,在webpack里成为“long-term vendor-caching”。

 

多页应用

webpack.config.js

 

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

 

 

它做了什么?告诉webpack我们想要3个独立的依赖图(就像上面的例子)

为什么?在一个多页应用里,服务器将为你取的一个新的HTML 文档。页面重载这个新的文档,资源被重新下载。这给了我们很好的机会来做下面的很多事情:

  • 使用CommonChunkPlugin来作成在各个页面都使用的共享包。那些在各个入口点复用很多代码或者模块的多页应用,采用这些技术会去的很好的效果,虽然入口点会有所增加。

-- End --

0
0
分享到:
评论

相关推荐

    Webpack4中文手册(4.39.3).pdf

    - entry: 一个字符串、对象、数组或混合这些类型,表示入口起点或模块,告诉webpack从哪里开始打包。 - output: 配置如何输出打包后的代码,包括输出目录path(必须是绝对路径)和打包文件的文件名filename。 - ...

    VUE+WebPack游戏开发:神庙逃亡的游戏设计 .zip

    Webpack的核心概念包括入口(entry)、输出(output)、模块加载器(loaders)和插件(plugins)。在“神庙逃亡”的开发中,Webpack可能被用来处理Vue组件、JavaScript代码、样式文件和静态资源。例如,使用Babel loader将...

    Webpack2 中文文档 pdf

    ### Webpack2 中文文档概览 #### Webpack 概述 Webpack 是一款现代前端项目的模块打包工具。它能够将项目中的多个独立模块按照依赖关系和规则打包成适合生产环境部署的静态资源,并且支持按需加载的代码分割功能。...

    webpack 官方中文文档.pdf

    ### webpack 官方中文文档知识点总结 #### 一、webpack简介 webpack是一个现代JavaScript应用程序的静态模块打包工具。它的核心功能在于构建一个依赖图(dependency graph),该图映射出项目所需的所有模块,并最终...

    ac-actor-master.zip

    如果你打算深入研究或使用这个组件库,你需要熟悉 Vue.js 的基本概念和 API,以及 Element UI 的组件用法。同时,了解前端开发的常用工具和最佳实践也是必不可少的。此外,对于有定制需求的开发者,学习如何修改和...

    vue面试题-前端程序员必备-前端框架-大厂面试准备.docx

    - **简单的API**:Vue的API设计简洁,易于理解和使用,中文文档也使得学习曲线相对平缓。 2. **数据传递**: - **父组件向子组件传递数据**:使用`props`属性,将父组件的数据作为属性传递给子组件。 - **子组件...

    前端开源库-jsdoc-webpack-plugin

    Webpack的核心概念包括入口(entry)、输出(output)、加载器(loaders)和插件(plugins),其中插件用于扩展Webpack的功能,如jsdoc-webpack-plugin正是这样的一个插件。 **jsdoc-webpack-plugin** 是Webpack生态中的一...

    Fly-the-Serenity-源码.rar

    2. **编程语言**:根据文件名,项目可能使用了支持"master"分支概念的版本控制系统,比如Git。源码可能是用C++、Python、Java、JavaScript等编程语言编写的,我们需要查看源文件的扩展名来确定实际使用的语言。 3. ...

    webpackdemo只打包js、css

    Webpack 是一个流行的模块打包工具,尤其在前端开发中被广泛使用。这个"webpackdemo只打包js、css"的项目是一个基础示例,演示了如何使用...对于更复杂的场景,建议查阅Webpack的官方文档以获取详细信息和最佳实践。

    Webpack中文手册 pdf

    根据提供的信息,我们可以总结并详细解释关于Webpack中文手册的一些关键知识点。这本手册主要涵盖了Webpack的基础概念、安装方法、配置技巧以及如何利用Webpack构建现代化的前端项目等内容。 ### Webpack简介 ...

    前端项目-react-redux.zip

    2. **index.js** 或 **app.js**:项目的主入口文件,一般在这里创建Redux store并渲染顶级React组件。 3. **package.json**:包含了项目的依赖和元数据,如版本、脚本、依赖库等。这里会列出React、Redux以及其他...

    【28】2018年最新Webpack3由浅入深及搭载vue,react,angular框架多维度讲解 .txt

    根据给定文件的信息,本文将围绕Webpack 3的深入解析及其与...虽然本文档提到的是2018年的Webpack 3版本,但其中介绍的基本概念和技术仍然具有很高的参考价值,对于理解和学习Webpack 4及更高版本也有很好的铺垫作用。

    javascript-client-generated.zip

    此外,JavaScript项目可能使用了构建工具(如Webpack、Rollup)和任务自动化工具(如Gulp、Grunt),这些工具负责编译、打包、压缩和优化代码,以便于部署和提高性能。 总之,"javascript-client-generated.zip"是...

    Webpack简易教程

    2. **入口(Entry)**:Webpack 打包的起点,定义了应用的主文件或多个入口文件,Webpack 会从这些入口文件开始解析依赖关系。 3. **输出(Output)**:Webpack 编译后的结果输出位置,定义了打包后文件的存放路径...

    vue-single-component.zip

    在这个例子中,可能包含了Vue实例的创建和挂载点。 2. **vue.js** 和 **vue.common.prod.js** - 这是Vue.js库的不同版本。`vue.js`是浏览器直接可用的版本,而`vue.common.prod.js`是用于生产环境的构建,可能经过...

    oc-frontend-源码.rar

    这个压缩包可能是某个开源项目、电商网站或者任何Web应用的前端代码库。 首先,让我们探讨一下前端开发的基本概念。前端开发通常涉及HTML、CSS和JavaScript这三种核心技术。HTML(HyperText Markup Language)用于...

    前端项目-react-foundation-apps.zip

    2. `public`:静态资源目录,可能包含HTML入口文件、 favicon、CSS样式和图片等。 3. `package.json`:项目配置文件,列出了项目的依赖和脚本命令。 4. `.gitignore`:定义了在版本控制中忽略的文件和目录。 5. `...

    anni-fetch-源码.rar

    1. **主文件(Main File)**:通常是项目的入口点,可能是JavaScript中的`index.js`或Python中的`main.py`,它负责启动程序并协调其他组件。 2. **数据获取模块(Data Fetching Module)**:"fetch"一词暗示这里...

    webpack-demo:修复错误

    - **使用社区资源**:查阅Webpack文档、Stack Overflow、GitHub上的Issue等获取解决方案。 4. **Webpack工作流程**: - 分析入口点,找出所有依赖。 - 使用加载器处理不同类型的模块,如Babel处理ES6+语法。 - ...

    vue2+webpack搭建h5框架

    Vue2和Webpack是现代Web开发中的两个重要工具,它们结合在一起可以构建高效、模块化的H5前端框架。Vue2是一个轻量级的JavaScript框架,它提供了声明式的数据绑定和组件化功能,使得开发者能更容易地构建用户界面。...

Global site tag (gtag.js) - Google Analytics