webpack学习笔记
1.安装webpack
npm install webpack -g
2.进入项目目录,初始化
npm init
3.将webpack安装到项目依赖中
npm install webpack --save-dev
4.创建一个webpack.config.js配置文件
module.exports = {
// 需要编译的文件
entry:{
index1:'./src/index1.js',
index2:'./src/index2.js'
},// 编译配置项
output:{// 输出到哪个目录
path:'./dire',// 文件名 [name]会根据entry的键名来取值
filename:'[name].js'
}
};
目录结构:






5.cmd中输入:webpack
结果会生成一个dire目录。

OK,完成。
我们看看里面生成的代码。

乱七八糟的,如果想去掉这些可以这样。
var webpack = require('webpack');
module.exports = {
entry:{
index1:'./src/index1.js',
index2:'./src/index2.js'
},
plugins:[
new webpack.optimize.UglifyJsPlugin()
],
output:{
path:'./dire',
filename:'[name].js'
}
};
好像没啥用对吧,我们可以这样。
webpack小试身手,模块化开发。
目录结构





module.exports = {
entry:'./main.js',
plugins:[
new webpack.optimize.UglifyJsPlugin()
],
output:{
path:'./dire',
filename:'main.js'
}
};
这里将main.js做为主模块,我们可以在main.js里面将需要用到的js文件通过require引入进来,达到模块化的需求,这个require的用法和nodejs一样。
当然你可以划分成多个模块,你只需要更改一下这个。
module.exports = {
entry:{xx:'./xx/xx.js',
xx:'./xx/xx.js'
.......
},
plugins:[
new webpack.optimize.UglifyJsPlugin()
],
output:{
path:'./dire',
filename:'[name].js'
}
};
这样你就可以根据不同模块编写JS代码了。真不错。
但这都只是冰山一角,来看看webpack更强大的功能。
在main.js中导入css文件。
main:require('./src/index.css');
但是发现报错了,我们需要配置一下webpack.config.js
编译css
var webpack = require('webpack');
module.exports = {
entry:'./main.js',
plugins:[
new webpack.optimize.UglifyJsPlugin({
compress:{//去除控制台错误
warnings:false
}
})
],
output:{
path:'./dire',
filename:'main.js'
},
module:{
loaders:[
{test:/\.css$/,loader:'style-loader!css-loader'}
]
}
};
还得安装一下
npm install style-loader css-loader --save-dev
在main.js里面使用less文件。
require('./src/index.css');
require('./src/less.less');
需要进行如下配置:
loaders:[
{ test: /\.less$/, loader: 'style-loader!css-loader!less-loader' },
{ test: /\.css$/, loader: 'style-loader!css-loader' }
]
还得安装style-loader,css-loader,less-loader
npm install style-loader css-loader less-loader --save-dev
我安装完,webpack编译less文件的时候发现报错了。原来是还得安装一下less.

npm install less --save-dev
来看一下页面的效果:

我们用require过来的css文件变成style样式。
除了这个,我们还可以用来处理图片,将图片转成base64
main.js
require('./src/index.css');
require('./src/less.less');
var img = document.createElement('img');
img.src = require('./src/baidu.png');var box = document.getElementById('box');
box.appendChild(img);
webpack.config.js
loaders:[
{ test: /\.less$/, loader: 'style-loader!css-loader!less-loader' },
{ test: /\.css$/, loader: 'style-loader!css-loader' },
{ test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192' }
]
limit:表示图片小于多少就转成base64格式的图片。
使用前我们还得安装一下url-loader
npm install url-loader --save-dev
webpack
看看效果

生成base64位了噢。
在css,less中都是可以使用的噢。

less代码
ul{
li{
width:200px;
height:200px;
color:red;
font-size:18px;
background:url(./baidu.png) no-repeat;
}
}
webpack实在太棒了。
如果你想编译其他格式的文件使用方法都差不多,这里就不试了。
通过webpack --watch监听文件变化自动打包。
webpack学习笔记的更多相关文章
- 【原】webpack学习笔记
之前在react的项目中有用过webpack,不过没有认真的去研究,这段时间又重新好好的学习一下webpack,发觉 webpack是一个很强大的东西.而且很好用,方便,接下来主要是做一下学习的笔记 ...
- 更博不能忘——webpack学习笔记
webpack是前端构建系统就像grunt和gulp(之前有学习过grunt所以也就大概明白webpack是个什么东西),所以说前端技术大部分还真是相通的,现在觉得当时多看的东西并不白费,虽然长时间不 ...
- webpack学习笔记(二)-- 初学者常见问题及解决方法
这篇文章是webpack学习第二篇,主要罗列了本人在实际操作中遇到的一些问题及其解决方法,仅供参考,欢迎提出不同意见. 注:本文假设读者已有webpack方面相关知识,故文中涉及到的专有名词不做另外解 ...
- webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件
一 .webpack学习环境准备: 1:window系统 2:安装node.js 官方网址 下载好后下一步下一步安装即可 安装步骤略过....... 3:nrm的安装 打开cmd命令控制台 输入:n ...
- Webpack学习笔记九 webpack优化总结
webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...
- Webpack学习笔记一:What is webpack
#,Loaders干嘛的,webpack can only process JavaScript natively, but loaders are used to transform other ...
- webpack学习笔记—webpack安装、基本配置
文章结构: 什么是webpack? 安装webpack 'webpack基本配置 一.什么是webpack? 在学习react时发现大部分文章都是react和webpack结合使用的,所以在学reac ...
- 【webpack学习笔记】a04-建立开发环境
开发环境就是在开发过程中为了方便配置的环境,生产环境就是开发完成即将上线的情况. 好了,说了句废话,切入正题. 在开发时,打包后的文件压缩成一团,报错调试的时候傻眼了有木有?每次做出修改需要到浏览器查 ...
- Webpack 学习笔记总结
Webpack安装 Linux系统默认已经安装了node&npm,但版本比较低,而且没法升级,可以重新下载Node然后通过软链接替换系统自带的node和npm; ln -s /path_to/ ...
- webpack学习笔记丁点积累
webpack是什么? https://webpack.js.org/concepts/ https://code.tutsplus.com/tutorials/introduction-to-web ...
随机推荐
- Connect to EC2 if losing Private Key
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-lost-key-pair
- 测试文档锁:doc.LockDocument()
/// <summary> /// 总结:用到DocumentManager.Open(filePath)时,如果是ForWrite,就需要用到lock文档锁. /// </summ ...
- 6410移植android4.4.2笔记(持续更新)
如之前的android编译笔记里面描述,目前已经可以编译出armv7-neon的android镜像了,也就是说目前的环境以及aosp可以支持定制android程序了. 昨天晚上在device下面已经粗 ...
- HTML5的文档结构和新增标签
一.HTML5 文档结构1.第一步:打开 开发工具,打开指定文件夹:2.第二步:保存 index.html 文件到磁盘中,.html 是网页后缀:3.第三步:开始编写 HTML5 的基本格式.< ...
- Python path
1.os.path 1.1.os.path.dirname(__file__) 1.1若文件__file__以绝对路径被运行的,则输出绝对路径 1.2若文件以相对路径被运行的,则输出为空 1.2.os ...
- linux-11 基本命令之 -工作期目录切换命令-pwd,cd,
pwd 命令用于显示当前的工作目录,格式为:pwd[选项] @1.查看当前的工作路径: [root@localhost /]# pwd cd 命令用于切换工作路径 格式为:"cd 目录名称& ...
- .NET Core下使用gRpc公开服务(SSL/TLS)
一.前言 前一阵子关于.NET的各大公众号都发表了关于gRpc的消息,而随之而来的就是一波关于.NET Core下如何使用的教程,但是在这众多的教程中基本都是泛泛而谈,难以实际在实际环境中使用,而该篇 ...
- ENode 1.0 - Command Service设计思路
开源地址:https://github.com/tangxuehua/enode 上一篇文章,介绍了enode框架的物理部署思路.本文我们再简单分析一下Command Service的API设计: C ...
- OAuth 2.0 授权原理
出处:http://www.cnblogs.com/neutra/archive/2012/07/26/2609300.html 最近在做第三方接入的,初步定下使用OAuth2协议,花了些时间对OAu ...
- java提高篇(十一)-----强制类型转换
在java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需 ...