当前位置: 首页 > 编程日记 > 正文

webpack入门(二)what is webpack

webpack is a module bundler.webpack是一个模块打包工具,为了解决上篇一提到的各种模块加载或者转换的问题。

webpack takes modules with dependencies and generates static assets representing those modules.

webpack以依赖模块和生成 静态资源代表这些模块。

Goals

  • Split the dependency tree into chunks loaded on demand 把依赖树拆分成chunks,按需加载
  • Keep initial loading time low    保证初始加载时间少
  • Every static asset should be able to be a module   每个静态资源都应该是一个模块
  • Ability to  integrate 3rd-party libraries as modules    致力于整合第三方库作为模块
  • Ability to customize nearly every part of the module bundler 致力于自定义接近每一部分的模块打包器
  • Suited for big projects  适合大工程项目

How is webpack different?

这里说了webpack的特性

Code Splitting

webpack has two types of dependencies in its dependency tree: sync and async. Async dependencies act as split points and form a new chunk. After the chunk tree is optimized(优化), a file is emitted for each chunk.

Read more about Code Splitting.

Loaders

webpack can only process JavaScript natively, but loaders are used to transform other resources into JavaScript. By doing so, every resource forms a module.

Read more about Using loaders and Loaders. webpack只能处理原生js,但是loaders就是用来把其他的资源转换为js。这样做,每个资源都形成一个模块

Clever parsing

webpack has a clever parser that can process nearly every 3rd party library. It even allows expressions in dependencies like so require("./templates/" + name + ".jade"). It handles the most common module styles: CommonJs and AMD. webpack的巧妙地解析能处理几乎每一个第三方库。

Read more about expressions in dependencies, CommonJs and AMD.

Plugin system

webpack features a rich plugin system. Most internal features are based on this plugin system. This allows you to customize webpack for your needs and distribute common plugins as open source. webpack有功能丰富的插件系统。,很多内部特性都基于插件系统,它允许你按需自定义或以开源的形式分发公共插件。

Read more about Plugins.

Installation

node.js

Install node.js.

node.js comes with a package manager called npm.

webpack

webpack can be installed through npm:

$ npm install webpack -g

webpack is now installed globally and the webpack command is available.

先安装nodejs,用里面的包控制工具npm,然后用npm安装webpack,通过这个命令将webpack安装到全局,webpack这命令就可以用了。

Use webpack in a project

It’s the best to have webpack also as dependency in your project. Through this you can choose a local webpack version and will not be forced to use the single global one.最好把webpack写进dependency,你可以选一个webpack版本,并不强制用哪个。

Add a package.json configuration file for npm with: 通过这个命令加一个package.json文件

$ npm init

The answers to the questions are not so important if you don’t want to publish your project to npm.

Install and add webpack to the package.json with:     把webpack加入到package.json中,加入到dev里面。

$ npm install webpack --save-dev

Versions

There are two versions of webpack available. The stable one and a beta version. The beta version is marked with a -beta in the version string. The beta version may contain fragile changes or experimental features and is less tested. See changelog for differences. For serious stuff you should use the stable version:    webpack有俩版本可用,测试和稳定版。安装测试版要加 -beta的mark。测试版加入了一些测试的新特性。

$ npm install webpack@1.2.x --save-dev  

Dev Tools

If you want to use dev tools you should install it:  webpack的dev tools,下面是安装命令

$ npm install webpack-dev-server --save-dev

转载于:https://www.cnblogs.com/dh-dh/p/5165202.html

相关文章:

vSAN读者交流之1-要为不同时间的服务器选择合适的系统版本

近期在我的虚拟化群中,有两个问题比较典型:在比较老的服务器安装新的VMware ESXi 6.7或vCenter Server 6.7出错。在比较新的服务器安装比较旧的ESXi版本5.5出错。因为每个人的实验环境不同、条件不同,用不同的服务器做实验,或者为…

ecshop中ajax的调用原理

1:首先ecshop是如何定义ajax对象的。ecshop中的ajax对象是在js/transport.js文件中定义的。里面是ajax对象文件。声明了一个var Ajax Transport;对象和一个方法Ajax.call Transport.run;2:ecshop中ajax可以使用两种方式传递数据.一种是get方式,一种是p…

IOS7原生API进行二维码条形码的扫描

2019独角兽企业重金招聘Python工程师标准>>> //需要真机 #import "ViewController.h" #import <AVFoundation/AVFoundation.h>interface ViewController ()<AVCaptureMetadataOutputObjectsDelegate>//用于处理采集信息的代理 {AVCaptureSess…

元宇宙中可跨语种交流,Meta 发布新语音模型,支持128种语言无障碍对话

编译 | 禾木木 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 语言交流是人类互动一种自然的方式&#xff0c;随着语音技术的发展&#xff0c;我们可以与设备以及未来的虚拟世界进行互动&#xff0c;由此虚拟体验将于我们的现实世界融为一体。 然而&#xff0c;…

sql server几种读写分离方案的比较

原文:sql server几种读写分离方案的比较在生产环境中我们经常会遇到这种情况&#xff1a; 前端的oltp业务很繁忙&#xff0c;但是需要对这些运营数据进行olap&#xff0c;为了不影响前端正常业务&#xff0c;所以需要将数据库进行读写分离。 这里我将几种可以用来进行读写分离的…

Jquery和javascript常用技巧

var objSel document.getElementById("selOp"); //这是获取值 alert("当前值: " objSel.value); //这是获取文本 alert("当前文本: " objSel.options(objSel.selectedIndex).text);…

LeetCode刷题-1

数组-1.两数之和题目描述题目样例Java方法&#xff1a;暴力枚举思路及算法代码执行结果复杂度Java方法&#xff1a;哈希表思路及算法代码执行结果复杂度题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出和为目标值 target 的那两个整数…

测试驱动开发与行为驱动开发中的测试先行方法

Gil Zilberfeld将在 Agile Practitioners会议上举办小型研讨会&#xff0c;讨论测试先行&#xff08;test first&#xff09;方法&#xff0c;测试驱动开发&#xff08;TDD&#xff09;和行为驱动开发&#xff08;BDD&#xff09;的基础。 \\\ Test-First是一个很优秀的工具。它…

在jupyter notebook中同时安装python2和python3

环境 win10 已安装anaconda3 How 1.安装python27> conda create -n py27 python2.72. conda install --prefixD:\pyenv\py27 ipykernel(python27 指定路径&#xff1a;D:\pyenv\py27)3. activate py27(查看 conda info --envs)4. python -m ipykernel install --user5.启动j…

简化代码的微小修改

可选参数和命名实参 可选参数如果操作需要多个值&#xff0c;而有些值在每次调用的时候又相同&#xff0c;这时可以使用可选参数声明可选参数并在调用时省略它们#region 13-1声明包含可选参数的方法并调用static void Dump(int x, int y 20, int z 30)//声明包含了可选参数的…

windows版本下使用xdebug

下载xdebug: http://www.xdebug.org/download.php 这个版本&#xff1a; http://www.xdebug.org/files/php_xdebug-2.2.0-5.3-vc9.dll拷贝到php的ext目录 配置php.ini extensionphp_xdebug-2.2.0-5.3-vc9.dll;xdebug.profiler_enable1;xdebug.profiler_output_dir"E:\PHPn…

LeetCode刷题-2

数组-26.删除有序数组中的重复项题目描述题目样例Java方法&#xff1a;双指针思路及算法代码执行结果复杂度题目描述 给你一个有序数组 nums &#xff0c;请你原地删除重复出现的元素&#xff0c;使每个元素只出现一次 &#xff0c;返回删除后数组的新长度。不要使用额外的数组…

[设计模式]外观模式

1. 定义 外观模式 提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口。外观定义了一个高层接口&#xff0c;让子系统更加容易使用。 外观不仅简化了系统内接口的使用&#xff0c;也将客户从组件中的子系统中解耦&#xff0c;外观和适配器都可以包装很多类&#xff0…

Oralce中的to_date()函数

Oralce中的to_date()函数to_date( ".$params[ORDER_TIME].",YYYY-MM-DD) TO_DATE(:BEGIN_DATE,yyyy-mm-dd hh24:mi:ss)Oralce中的to_date()函数用于将字符串转换为日期对象&#xff0c;具体使用格式为&#xff1a;to_date( string, [ format_mask ] , [ nls_lan…

LeetCode刷题-3

数组-27. 移除元素题目描述题目样例Java方法&#xff1a;双指针思路及算法代码执行结果复杂度Java方法&#xff1a;双指针优化思路及算法代码执行结果复杂度题目描述 给你一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素&#xff0c;并返回移除…

Ubuntu下ssh免password登录安装

1、首先在本机安装openssh-server和openssh-client. 命令&#xff1a;sudo apt-get install openssh-server openssh-client 2、在检查当前的文件夹下有没有.ssh这个文件。没有的话就mkdir下。 3、生成公钥与私钥。命令&#xff1a;ssh-keygen -t rsa 4、将.ssh文件里的id_isa_…

npm中package-lock.json的作用:npm install安装时使用

简单理解: XYZ 的格式 对应为: 主版本号.次版本号.修订号&#xff0c;版本号递增规则如下&#xff1a; 主版本号&#xff1a;当你做了不兼容的 API 修改&#xff0c; 次版本号&#xff1a;当你做了向下兼容的功能性新增&#xff0c; 修订号&#xff1a;当你做了向下兼容的问题修…

win7中Android开发环境搭建超详细(百度)

Android系统如火如荼&#xff0c;Android软件开发也相当流行&#xff0c;这里介绍如何一步步完成Android软件开发环境的搭建。 工具/原料 能联网的计算机Java环境搭建 1Android软建开发用的是Java语言&#xff0c;所以第一步当然要完成Java环境的搭建&#xff0c; Java环境搭建…

LeetCode刷题-4

数组-35. 搜索插入位置题目描述题目样例Java方法&#xff1a;二分查找思路及算法代码执行结果复杂度题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请…

Jquery和PHP Ajax JSON

无缓存&#xff0c;无错版$.ajax({ type: "GET", url: "index.php", cache: false, data: "conAdd&act_search&key" key"&id"id, dataType:"json", success: function(msg){ bindGroupList(msg)…

Web应用配置虚拟主机(www.baidu.com)

最终效果:浏览器地址栏输入www.baidu.com访问时,会显示自己的网页 1、创建文件 任意盘新建一个www.baidu.com文件,在该文件夹下新建WEB-INF文件、自己写的一个html文件,一张图片,然后在WEB-INF下新建一个classes文件、lib文件以及一个web.xml文件&#xff0c;在web.xml文件中输…

LeetCode刷题-5

数组-66. 加一题目描述题目样例Java方法&#xff1a;找出最长的后缀 9思路及算法代码执行结果复杂度题目描述 给定一个由整数组成的非空数组所表示的非负整数&#xff0c;在该数的基础上加一。最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。 你可以假…

LeetCode 125 Valid Palindrome(有效回文)(*)

版权声明&#xff1a;转载请联系本人&#xff0c;感谢配合&#xff01;本站地址&#xff1a;http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/50623165 翻译 给定一个字符串&#xff0c;确定它是否是回文的&#xff0c;仅仅考虑其中的数字和字符并忽…

Ubuntu命令终端查看使用过的命令

使用history命令cyfubuntu:~$ history但是这样会显示出所有使用过的命令&#xff0c;可以在history后加上lesscyfubuntu:~$ history | less会显示出类似vim编辑器的形式&#xff0c;再使用类vim中的操作&#xff0c;查找使用过的命令:/sed //查找使用过的sed相关的命令也可以直…

对象名和函数名同名引起的莫名错误

<html><head><script type"text/javascript">var Validator function(){alert("w")}//第一步校验function validator(){validator new Validator();return true;} function aa(){if(validator()false){alert("FF")}else{al…

【FE前端学习】第二阶段任务-基础

技能学习部分&#xff1a; 1.需要熟练掌握HTML标签以及CSS各个常用属性。 2.掌握CSS3 常用属性 3.掌握jquery的基本用法&#xff0c;对于JS基本逻辑语句需要熟练掌握 上文 【FE前端学习】第二阶段任务-提高 一、HTML标签 HTML是一种标记语言&#xff0c;标记语言是一套标记标签…

LeetCode刷题-6

数组-88. 合并两个有序数组题目描述题目样例Java方法&#xff1a;直接合并后排序思路及算法代码执行结果复杂度Java方法&#xff1a;双指针思路及算法代码执行结果复杂度Java方法&#xff1a;逆向双指针思路及算法代码执行结果复杂度题目描述 给你两个按非递减顺序排列的整数数…

Bootstrap 模态框上下居中

在bootstrap.js里面找到Modal.prototype.adjustDialog在里面添加&#xff1a; // 是弹出框居中。。。var $modal_dialog $(this.$element[0]).find(.modal-dialog);var m_top ($(window).height() - $modal_dialog.height()) / 2;$modal_dialog.css({ margin: m_top px auto…

Oracle自增列创建方法

最近在做Oracle的项目&#xff0c;由于以前没有接触过Oracle的开发&#xff0c;遇到了不少的问题&#xff0c;比如给Oracle表添加自增列&#xff0c;与SQL Server就不同。Oracle没有自增字段这样的功能&#xff0c;但是通过触发器(trigger)和序列(sequence)可以实现。 先建一个…

LeetCode刷题-7

数组-108. 将有序数组转换为二叉搜索树题目描述题目样例前言Java方法&#xff1a;中序遍历&#xff0c;总是选择中间位置左边的数字作为根节点思路及算法代码复杂度Java方法&#xff1a;中序遍历&#xff0c;总是选择中间位置右边的数字作为根节点思路及算法代码复杂度Java方法…