webpack中文文档

Webpack学习笔记(2)

泪湿孤枕 提交于 2020-03-09 14:59:13
文章目录 1-9.入口和出口 出口 入口 1-9.入口和出口 前置知识(node中): ./ : 模块化代码中,比如 require("./") , 表示当前js文件所在的目录 在路径处理中, "./" 表示node运行目录 __dirname : 所有情况下,都表示当前运行的js文件所在的目录,它是一个绝对路径; node内置模块 - path : 官方文档: https://nodejs.org/dist/latest-v12.x/docs/api/path.html 中文文档: http://nodejs.cn/api/path.html path.resolve() 方法将路径或路径片段的序列解析为绝对路径。 //该对象提供了大量路径处理的函数 var path = require ( "path" ) //导出了一个对象 // var result = path.resolve("./", "child", "abc", "123"); var result = path . resolve ( __dirname , "src" ) ; console . log ( result ) ; // 返回一个绝对路径,当前js文件所在目录下的src目录; .......\src 出口 这里的出口是 针对资源列表的文件名或路径的配置 出口通过 output 进行配置

webpack4

痞子三分冷 提交于 2020-02-11 13:49:44
1概述 webpack是一个前端资源加载/打包工具。它根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。 官网:https://webpack.js.org/ 中文文档:https://webpack.js.org/ 1.1如何理解webpack 正常写一个js文件时,可能要去依赖别的js文件,别的js文件又可能要去依赖其他的资源文件。这样错综复杂的文件最后要打包成一个或两个文件。这些合并打包操作就是webpack要做的事情。它会静态的分析js之间分别有怎样的依赖关系,谁需要引入谁,谁需要包含在谁里面。这样的规则分析完之后,它会把这些文件组织起来,把js和js合并到一起,把css或类似less的style文件合并到一起,把png和jpg这样的图片文件合并到一起,这样就生成了生产环境所要使用的代码。 1.2 webpack主要有4个核心概念 入口( entry):webpack所有依赖关系图的起点 出口( output):指定 webpack打包应用程序的地方 加载器( loader):指定加载的需要处理的各类文件 插件( plugins):定义项目要用到的插件 2 webpack4新特性 2.1mode属性 webpack需要设置mode属性,可以是 development 或 production 例: "scripts": { "dev":

webpack4:连奏中的进化

蹲街弑〆低调 提交于 2020-02-10 08:36:53
webpack4在2月底的时候发布,这次webpack4有了一个名字"Legato",也就是"连奏"的意思,寓意webpack在不断进化,而且是无缝(no-gaps)的进化。webpack的进化点是通过捐赠者和用户投票来决定的,之前在介绍webpack3的时候,曾给出过投票数在前几名的优化点,集中在用户体验、构建性能(速度和产出大小)、通用和适配性(es module、typescript、web assemble)等。webpack4发布了,下面将结合文档和实践,验证一下webpack是否兑现了当初的诺言。 webpack4中的新特性 webpack3 官方 发布的时候,提到了下个版本可能的改动点,翻译过来如下所示: 高性能的构建缓存 提升初始化速度和增量构建效率 更好的支持Type Script 修订长期缓存 支持WASM 模块支持 提升用户体验 webpack4 官方 发布的文档之中主要提及了以下新特性: 支持零配置(Zero Configuration) 该特性主要用于解决webpack的门槛高问题,webpack是一个配置声明式的操作模式,npm、gulp是指令式的,需要描述每一步是干什么的,而webpack的配置项凌乱且无序,让很多开发者头疼。 webpack4提供了零配置方案,默认入口属性为 ./src ,默认输出路径为 ./dist ,不再需要配置文件

Webpack 一些概念

久未见 提交于 2019-12-23 10:23:04
引子 打包工具有多种,实际中 webpack 接触的比较多,目前中文文档跟英文文档有些对不上,其中有些概念比较分散,对此进行集中的整理。 Origin My GitHub Dependency Graph 任何时候,一个文件依赖于另一个文件,webpack 把这种情况视为依赖关系。这让 webpack 可以接受非代码资源,例如图片或字体,并且可以将它们作为依赖提供给你的应用程序。 当 webpack 处理你的程序时,可能是从命令行或配置文件中定义的一系列模块开始。从入口文件开始,webpack 递归地构建一个 依赖图 (Dependency Graph),这个 依赖图 包含着应用程序所需的每个模块,并生成一个或多个 bundle ,可由浏览器加载。 Runtime runtime 和 manifest 数据,基本上是在浏览器运行时,webpack 用来连接模块化应用程序所需的所有代码。 它包含在模块交互时连接它们所需的加载和解析逻辑。这包括连接已经加载到浏览器中的模块,以及延迟加载尚未加载的模块的逻辑。 Manifest manifest 作为名词时,中文意思是:(船或飞机的)货单,旅客名单 当编译器进入、解析和映射你的应用程序时,它会在你的所有模块上保留详细的信息,这个数据集合称为“ manifest ”。 当完成打包并发送到浏览器时, runtime 会通过 manifest

webpack中文文档笔记——起步

旧时模样 提交于 2019-12-14 07:06:01
private :true 确保我们安装包是私有的(private) 移除 main :“index.js” 可以防止意外发布你的代码 2.webpack 的项目结构中的src文件和打包完的dist文件夹的区别: src “源”代码是用于 书写和编辑 的代码 dist 是构建过程 产生的代码最小化和优化后的“输出”目录 ,最终将在浏览器中加载 npm install --save 和 npm install --save-dev 区别 npm install --save 在安装的包是要打包到生产环境的安装包时 npm install --save-dev 在安装一个用于开发环境的安装包 npx 是什么? npx 会帮你执行依赖包里的二进制文件。 也就是说 npx 会自动查找当前依赖包中的可执行文件,如果找不到,就会去 PATH 里找。如果依然找不到,就会帮你安装! 例如,执行webpack二进制文件 有的npx webpack 指令我们可以很方便的直接执行webpack.js,它会我们自动找到webpack文件,不需要我们去手动指定webpack的目录 当项目中已经创建了webpack.config.js文件时,npx webpack ,将默认选择使用它 npx webpack === npx webpack --config webpack.config.js –config

node+vue-cli+webpack搭建教程

倾然丶 夕夏残阳落幕 提交于 2019-12-11 19:40:39
https://www.cnblogs.com/sweeeper/p/8652539.html node+vue-cli+webpack搭建教程 链接:https://segmentfault.com/a/1190000009160934?_ea=1849098 链接:https://www.jianshu.com/p/2769efeaa10a 链接:https://jinkey.ai/post/tech/vue2.0-xin-shou-wan-quan-tian-keng-gong-lue-cong-huan-jing-da-jian-dao-fa-bu 仅仅使用vue然后用webpack进行打包放到服务器的例子,webpeck就是打包发布的,打包后放在dist(distribution的缩写)文件夹下:https://segmentfault.com/a/1190000008722404 Jinkey Intelligence October 10, 2016 JavaScript Vue2.0 新手完全填坑攻略——从环境搭建到发布 Vue2 入门,读这篇就够了 Jinkey原创 感谢 showonne 、 yubang 技术指导 Demo 地址: http://demo.jinkey.io/vue2 源码: https://github.com/Jinkeycode/vue2

webpack4.0+踩过的坑(安装及打包)

两盒软妹~` 提交于 2019-12-05 19:19:38
1.安装webPack看官方文档就可以了,主要是打包,我安装的是4+以上的   官网中文教程: https://www.webpackjs.com/guides/installation/ 2.我是在phpStorm里面建了个工程 webPack, 圈起来的是项目初始文件 3.安装jquery 操作index.html    通过终端输入npm init -y 先初始化,然后输入 npm i jquery -s 后就生成了一个package.json 和一个node_modules 4.打包    由于我main.js里面的Es6的代码太高级,浏览器解析不了,webpack能够处理js的兼容问题。 后来在网上试了试各种命令,发现还是不行 最后 我执行了npm install --save-dev webpack 然后再执行下面的打包命令就成功了 参考: https://segmentfault.com/a/1190000006178770?utm_source=tag-newest 和 https://www.jianshu.com/p/c094e42b0bc2        来源: https://www.cnblogs.com/jxnc/p/11941342.html

webpack4

耗尽温柔 提交于 2019-12-05 11:49:20
webpack 其实就是一个 JavaScript 应用程序的静态模块打包器。 webpack 有什么作用? 模块化打包:webpack 会将项目的资源文件当成一个一个模块,模块之间会有依赖关系。webpack 将会对这些有依赖关系的文件进行处理,让浏览器能够识别,最后将应用程序需要的每个模块打包成一个或者多个 bundle。 官方中文文档: https://www.webpackjs.com/concepts/ 1. 讲解 webpack 开发环境的搭建,打包模式和效果 1)安装 node node 官网地址: https://nodejs.org/zh-cn/ 安装完后,可以通过命令行输入:node -v 查看 node 版本信息 通过命令行输入:npm -v 查看 npm 版本信息 2)创建 package.json 文件 进入到项目的根目录,输入命令:npm init,一系列的提示,如果不需要直接回车 最终会在根目录下生成 package.json 文件 3)安装webpack 本地安装:(推荐) npm install --save-dev webpack npm install --save-dev webpack-cli 全局安装: npm install --global webpack webpack-cli 这里我选择本地安装,还是进入到项目根目录,输入命令

Webpack插件开发简要

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-03 09:35:34
背景 如今‘大前端’这个概念在前端界大热,说‘大前端’,我们就要提到‘前后端分离’,‘前后端分离’又离不开‘本地开发构建’,‘本地开发构建’自然离不开webpack,webpack想要工作,那它就需要各种插件的支持,O(∩_∩)O哈哈~,逗了一大圈,终于引出了主题。 相信有不少童鞋在平时的项目开发中使用过Webpack Plugins,然而大部分人真是‘使用’啊(包括之前的我),只有少数人会去深究插件的原理与开发实践;又逢今日读到Webpack中文文档 《如何编写一个插件》 一节,所以在此做下插件开发的简单介绍,反正我读完这节后是豁然开朗了,不知道对大家有没有帮助,文中如有错误,望踊跃指正!! 分析 1 /** 2 * webpack插件开发采用'动态原型模式' 3 * 插件开发,最重要的两个对象:compiler、compilation 4 * @param options 5 * @constructor 6 */ 7 function MyPlugin(options) { // 根据 options 配置你的插件 8 9 } 10 // 我们可以在原型上添加一些方法 11 MyPlugin.prototype.someFunc = function() {/*something*/} 12 13 // apply方法是必须要有的,因为当我们使用一个插件时(new

多页应用增量更新静态资源Webpack打包方案

江枫思渺然 提交于 2019-12-03 05:00:00
本文转载于: 猿2048 网站➫ https://www.mk2048.com/blog/blog.php?id=h1b2b2cibb 自从vue、react或者angular这类框架流行后,单页应用的数量也越来越多。但是限制于单页应用的一些缺点,比如:seo、首屏时间等因素,很多应用的结构还是保持了多页面结构。此篇讲述的是如何在多页面应用结构的基础上,利用webpack生成带hashcode文件名的方式实现静态资源的增量更新方案。 多页应用的结构在用户访问时往往会在当前页面加载一些公共资源和当前页面的js和css,可能有些应用还在用比较传统的: https://url/[版本号]/xxx.[js|css] 或 https://url/xxx.js?r=xxx 的方式来保证当应用更新时客户端也能及时获取到最新的资源文件。而当前流行的前端的架构中单页应用在发布时,往往可以通过编译时在生成的资源文件名中加入文件的hashcode值来保证每个资源都有自己独立的"版本号"。客户端加载带有hashcode文件名的资源文件,当某个资源文件更新时也不会影响其他资源文件的名称,可以有效利用客户端的强缓存策略,增加资源文件的缓存命中率。 下面我们将实现在多页架构中如何实现静态文件名加入hashcode,并在服务端引用文件的例子: 1.Webpack编译生成文件追加hashcode webpack