webpack 初识
Webpack介绍
webpack 官网 http://webpack.github.io/docs/
webpack 中文地址:https://doc.webpack-china.org/
webpack集模块加载、前端文件打包的前端工具(简单写一点以后补充吧)
网站详细介绍了webpack 各种功能 以及重要的 webpack.config 的配置

- 对 CommonJS 、 AMD 、ES6的语法做了兼容
- 对js、css、图片等资源文件都支持打包
- 串联式模块加载器以及插件机制,让其具有更好的灵活性和扩展性,例如提供对CoffeeScript、ES6的支持
- 有独立的配置文件webpack.config.js
- 可以将代码切割成不同的chunk,实现按需加载,降低了初始化时间
- 支持 SourceUrls 和 SourceMaps,易于调试
- 具有强大的Plugin接口,大多是内部插件,使用起来比较灵活
- webpack 使用异步 IO 并具有多级缓存。这使得 webpack 很快且在增量编译上更加快
Webpack安装
webpack通过 npm 命令进行安装
npm install webpack -g
还可以使用开发模式进行webpack的使用
$ npm init // 初始化 package.json
$ npm install webpack --save-dev // 使用开发模式
Webpack配置
每个webpack工程都会有一个 webpack.cofnig.jsv 配置文件
他可以管理和引用当前项目所要使用库以及加载器
以下配置文件是由 webpack 1.x 标准构建的
2.x 兼容 1.x, 会在后续都使用 2.x 的配置作为示例
'use strict'
var webpack = require("webpack");
module.exports = {
// 解析和加载的初始路径,一般在不设置的情况下默认使用当前文件路径
context: __dirname + "",
// 页面入口文件配置, 需要编译的文件路径
// entry 接受三种值属性
// 1.字符串 -> entry : "page1.js"
// 2.数组 ---> entry : [ "page1.js", "page2.js"]
// 3.对象 ---> entry : { page1:"page1.js", page2:"page2.js" }
entry:{
index: __dirname + '/js/index.js',
},
// 入口文件输出配置
// output.path 文件将要输出的路径
// output.filaname 文件打包后的名称
// [name] 默认为文件名
// [hash] 打包前md5加密值
// [chunkhash] 打包后md5加密值
output:{
path: __dirname + '/dist/js',
filename: '[name]-[hash].js'
},
// 模块管理, 决定了如何处理项目中的不同类型的模块
module:{
//加载器配置
loaders: [
// test 通过正则表达式去匹配不同后缀的文件名
// loader 选择当前文件要使用的加载器, 如果要使用多个加载器用 ! 连接
{ test: /\.js$/, loader: 'babel-loader' },
{ test: /\.less/, loader: 'style-loader!css-loader!less-loader'}
]
},
// 在webpack构建时对进行文件查找, resolve 的 extensions 属性用于自动补全的文件后缀
// 扩展配置后 在使用 require('common') 同等于 require('common.js')
resolve:{
extensions:['','.js','.json']
},
// 组件管理
plugins:[
new XXX() ...
],
// 打包第三方,或者外链的 cdn 使其在加载器中正常使用
// 使用方式 var $ = require('jquery')
externals:{
jquery:'jQuery'
}
}
webpack运行
1.在终端使用webpack 对某一个文件进行打包
webpack [目标文件地址].js [打包后输出地址].js

2.配置 webpack.config.js 内的参数后,通过配置文件内容进行打包
webpack --progress --display-modules --display-reasons --watch
webpack --config webpack.min.js //另一份配置文件
webpack --display-error-details //显示异常信息
webpack --watch //监听变动并自动打包 (实用!)
webpack -p //压缩混淆脚本,这个非常非常重要!
webpack -d //生成map映射文件,告知哪些模块被最终打包到哪里了
2.1可以将启动脚本配置至 package.json 后使用 npm便捷启动
编写脚本至 package.json
npm 命令运行
webpack 初识的更多相关文章
- webpack初识
1.什么是Webpack WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等) ...
- Webpack学习-Webpack初识
一.前言 webpack 到底是个什么东西呢,看了一大堆的文档,没一个能看懂的,因为上来就是给个module.exports 然后列一大堆配置,这个干啥,那个干啥,没一点用.但凡要用一个东西,一个东西 ...
- webpack初识!
最近在使用webpack 感觉棒棒哒 下面这个简单的教程可以让你走入webpack的世界 欢迎使用webpack 这个小教程通过简单的例子来引导大家使用webpack 通过这些这篇文章你可以学到 如何 ...
- webpack初识(biaoyansu)
1.是什么和为什么 在浏览器中的js之间如果需要相互依赖 src=a.js src=b.js src=c.js src=d.js 需要暴露出全局变量,而暴露出的这个全局变量是非常不安全的, 随着Nod ...
- 使用webpack loader加载器
了解webpack请移步webpack初识! 什么是loader loaders 用于转换应用程序的资源文件,他们是运行在nodejs下的函数 使用参数来获取一个资源的来源并且返回一个新的来源(资源的 ...
- webpack学习(二)初识打包配置
前言:webpack打包工具让整个项目的不同文件夹相互关联,遵循我们想要的规则.想 .vue文件, .scss文件浏览器并不认识,因此webpage暗中做了很多转译,编译等工作. 事实上,如果我们在没 ...
- vue第一单元(初识webpack-webpack的功能-webpack的初步使用)
第一单元(初识webpack-webpack的功能-webpack的初步使用) #课程目标 了解webpack出现的意义,以及webpack解决的前端问题 掌握webpack的使用流程和步骤 掌握we ...
- webpack入门教程之初识loader(二)
上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件. 要想让网页看起来绚丽多彩,那么css就是必不可少的一份子.如果想要在应用中增加一个css文件,那么w ...
- 初识webpack——webpack四个基础概念
前面的话 webpack是当下最热门的前端资源模块化管理和打包工具.它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源.当webpack处理应用程序时,它会递归地构建一个依赖关系图表 ...
随机推荐
- 复杂SQL查询实例-5种普惠产品必须显示...
复杂SQL需求: 1.查询productCode in (1, 2, 4, 5, 7)五种 2.5种产品必须固定显示,优先显示procuct_status='1'在售产品,在售产品卖完则售罄产品顶上来 ...
- 和我一步步部署 kubernetes 集群
和我一步步部署 kubernetes 集群 本系列文档介绍使用二进制部署最新 kubernetes v1.6.1 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群: 在部署的过程中, ...
- 类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。
要实现的效果:进入页面后默认焦点在第一个输入框,输入内容.回车.right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个. PS:自己模拟的 ...
- Linux - 函数的栈帧
栈帧(stack frame),机器用栈来传递过程参数,存储返回信息,保存寄存器用于以后恢复,以及本地存储.为单个过程(函数调用)分配的那部分栈称为栈帧.栈帧其实是两个指针寄存器, 寄存器%ebp为帧 ...
- python——迭代器和生成器
1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优 ...
- HTML5 模拟现实物理效果
Ball Pool 是一个基于 HTML5 技术的实验,模拟现实物理效果,让你在 Web 中感受自然物体的运动.玩法介绍:可以随意拖动圆球.点击页面背景.晃动浏览器.双击页面背景或者按住鼠标左键,有不 ...
- 【算法系列学习】Dijkstra求最短路 [kuangbin带你飞]专题四 最短路练习 D - Silver Cow Party
https://vjudge.net/contest/66569#problem/D trick:1~N各点到X可以通过转置变为X到1~N各点 #include<iostream> #in ...
- ssh公钥认证原理及设置root外的其他用户登录ssh
1)创建其他用户 useradd [-d 登录目录] [-G ssh][用户名] 一定要将用户添加到ssh组不然无法没有权限登录ssh 2)设置ssh不允许root登录 vi /etc/ssh/ss ...
- sql注入基础(原理)
一.注入的分类 按数据库分类:1.整形 2.字符型(需要考虑单引号闭合的问题,还有注释不必要的语句 # ) eag: id='admin' id='admin and1=1'这样会报错 所以 ...
- SVN常见问题总结一
注意 转载须保留原文链接(http://www.cnblogs.com/wzhiq896/p/6828776.html ) 作者:wangwen896 SVN是Subversion的简称,是一个开放 ...

