webpack入门和实战(二):全面理解和运用loader和plugins
2016-08-26 08:43
495 查看
您的阅读目录:
一、理解webpack加载器loader
二、理解less-loader加载器的使用
三、理解babel-loader加载器的使用
四、webpack命令行常见使用的操作
五、用webpack内置组件UglifyJsPlugin来压缩js和css
六、html-webpack-plugin(生成自定义html页面)
七、extract-text-webpack-plugin(独立打包样式文件)
八、webpack打包多个资源文件
九、webpack对图片的打包
回到顶部
一、理解webpack加载器loader
1.1、什么是loader?
webpack的设计理念,所有资源都是“模块”,webpack内部实现了一套资源加载机制。loaders 用于转换应用程序的资源文件,他们是运行在nodejs下的函数 使用参数来获取一个资源的来源并且返回一个新的来源(资源的位置),例如你可以使用loader加载器可以快速编译预处理器(less,sass,coffeeScript)。
1.2、使用loader
安装loader
$ npm install xxx-loader --save-dev
加载器包括:style-loader、css-loader、less-loader、sass-loader、jsx-loader、url-loader、babel-loader、file-loader等等;各个加载器都有自己的功能,你可以根据项目需要来安装相应的加载器;
配置loader
安装完各个loader后,我们就需要配置一下我们的webpack.config.js,载入我们的loader。
我们主要看看module的loaders。loaders是一个数组,里面的每一个对象都用正则表达式,对应着一种配对方案。Webpack提供了一套加载器,比如css-loader,less-loader,style-loader,url-loader等,用于将不同的文件加载到js文件中,比如url-loader用于在js中加载png/jpg格式的图片文件;css/style loader用于加载css文件;less-loader加载器是将less编译成css文件;不同的处理器通过
回到顶部
二、理解less-loader加载器的使用
我们先来理解下less-loader加载器,其他的sass-loader也是一个意思,less-loader加载器是把css代码转化到style标签内,动态插入到head标签内;
我们先来看看我项目的结构如下:
View Code
执行webpack后,在浏览器中查看显示效果,如图所示:
至此运用url-loader实现图片打包,并且能够在css中正确运用打包后的图片。
webpack对图片的打包的源码地址为:http://download.csdn.net/detail/wdlhao/9613223
一、理解webpack加载器loader
二、理解less-loader加载器的使用
三、理解babel-loader加载器的使用
四、webpack命令行常见使用的操作
五、用webpack内置组件UglifyJsPlugin来压缩js和css
六、html-webpack-plugin(生成自定义html页面)
七、extract-text-webpack-plugin(独立打包样式文件)
八、webpack打包多个资源文件
九、webpack对图片的打包
回到顶部
一、理解webpack加载器loader
1.1、什么是loader?
webpack的设计理念,所有资源都是“模块”,webpack内部实现了一套资源加载机制。loaders 用于转换应用程序的资源文件,他们是运行在nodejs下的函数 使用参数来获取一个资源的来源并且返回一个新的来源(资源的位置),例如你可以使用loader加载器可以快速编译预处理器(less,sass,coffeeScript)。
1.2、使用loader
安装loader
$ npm install xxx-loader --save-dev
加载器包括:style-loader、css-loader、less-loader、sass-loader、jsx-loader、url-loader、babel-loader、file-loader等等;各个加载器都有自己的功能,你可以根据项目需要来安装相应的加载器;
配置loader
安装完各个loader后,我们就需要配置一下我们的webpack.config.js,载入我们的loader。
// webpack.config.js module.exports = { entry: path.join(__dirname, 'src/entry.js'), output: { path: path.join(__dirname, 'out'), publicPath: "./out/", filename: 'bundle.js' }, // 新添加的module属性 module: { loaders: [ {test: /\.js$/, loader: "babel"}, {test: /\.css$/, loader: "style!css"}, {test: /\.(jpg|png)$/, loader: "url?limit=8192"}, {test: /\.scss$/, loader: "style!css!sass"} ] } };
我们主要看看module的loaders。loaders是一个数组,里面的每一个对象都用正则表达式,对应着一种配对方案。Webpack提供了一套加载器,比如css-loader,less-loader,style-loader,url-loader等,用于将不同的文件加载到js文件中,比如url-loader用于在js中加载png/jpg格式的图片文件;css/style loader用于加载css文件;less-loader加载器是将less编译成css文件;不同的处理器通过
!分隔并串联起来。这里的loader是可以省略掉
-loader这样的,也就是原本应该写成
style-loader!css-loader!sass-loader.
回到顶部
二、理解less-loader加载器的使用
我们先来理解下less-loader加载器,其他的sass-loader也是一个意思,less-loader加载器是把css代码转化到style标签内,动态插入到head标签内;
我们先来看看我项目的结构如下:
var path = require('path'); var HtmlwebpackPlugin = require('html-webpack-plugin'); var webpack = require("webpack"); //定义了一些文件夹的路径 var ROOT_PATH = path.resolve(__dirname); var SRC_PATH = path.resolve(ROOT_PATH, 'src'); var BUILD_PATH = path.resolve(ROOT_PATH, 'build'); module.exports = { entry: { "index": SRC_PATH + "/js/index.js" }, output: { filename: "[name].js", path: BUILD_PATH }, module: { loaders: [ //.css 文件使用 style-loader 和 css-loader 来处理 { test: /\.less$/, loader:'style!css!less?sourceMap' }, { test: /\.js$/, loader: 'babel' }, { test: /.(png|jpg)$/, loader: 'url?limit=8192&name=images/[hash:8].[name].[ext]'//这种写法主要是用来设置图片的存放路径及图片的生成名字如,build/images/43243234234.1.png } } ] }, resolve: { extensions: ['', '.js', '.jsx'] }, plugins: [ new HtmlwebpackPlugin({ title: 'Hello World app', filename: 'index.html', inject: true, hash: true }) ] };
View Code
执行webpack后,在浏览器中查看显示效果,如图所示:
至此运用url-loader实现图片打包,并且能够在css中正确运用打包后的图片。
webpack对图片的打包的源码地址为:http://download.csdn.net/detail/wdlhao/9613223
相关文章推荐
- webpack入门和实战(一):webpack配置及技巧
- vue最简单的入门教程+实战+Vue2+VueRouter2+webpack(三)
- Webpack 4.X 从入门到精通 - loader(五)
- webpack入门教程之初识loader(二)
- Webpack 2 视频教程 014 - 深入理解 Webpack 2 中的 loader
- WebPack详细入门教程(三)之loader加载器(eg:引入CSS)
- webpack---webpack.config.js配置基本要素entry、output、loader、plugins等
- vue最简单的入门教程+实战+Vue2+VueRouter2+webpack(五)
- webpack快速入门和实战
- vue最简单的入门教程+实战+Vue2+VueRouter2+webpack(二)
- webpack入坑之旅(二)loader入门
- webpack入门学习3-loader的使用
- 关于入门Webpack的文章理解
- webpack中loader和plugin的概念理解
- webpack入坑之旅(二)loader入门
- 入门webpack(七)Webpack中的css-loader 和style-loader
- vue最简单的入门教程+实战+Vue2+VueRouter2+webpack(四)
- webpack入门(四)——webpack loader 和plugin
- webpack入坑之旅(二)loader入门