复习webpack的常用loader

今天复习了下webpack的常用loaders,其实习惯ES6开发的话,webpack的config.js基础配置应该是比较固定:

首先是JS,我们ES6要转为ES5,需要用到babel转码:

1.

npm install --save-dev babel-loader babel-core

2.在config.js中配置:

1 module: {
2   rules: [
3     { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }
4   ]
5 }

3.配置babel的preset:

npm install babel-preset-env --save-dev

4.项目目录下创建.babelrc文件,内容为:

1 {
2   "presets": ["env"]
3 }

5.当我们需要用到promise、map或ES6数组方法的时候,还要下载polyfill:

npm install --save babel-polyfill

6.使用polifill时候,要在entry中引入:

module.exports = {
  entry: ["babel-polyfill", "./app/js"]
};

其次是css方面的loaders:

1.

npm i css-loader style-loader --save-dev

2.如果想使用预处理器比如sass:

npm i sass-loader node-sass --save-dev

*node-sass最近几个版本安装可能会报错,我今天就遇到,github也有网友反映了这问题(见上篇)

*使用sass要先安装ruby,然后命令行gem sass (这不影响我们在项目的webpack中使用sass)

3.postcss-loader是必须的,除非你想每个新的css3样式都查前缀:

npm i postcss-loader autoprefixer --save-dev

使用postcss的时候,文档推荐创建本地postcss-config.js配置文件,这样在webpack.config.js中在需要postcss-loader的时候直接调用就好了:

1 module.exports = {
2   plugins: [
3     require(‘autoprefixer‘)
4   ]
5 }

然后是文件方面的,帮我们处理图片等:

npm i file-loader url-loader --save-dev

最后配置的config文件是:

 1 const path=require(‘path‘);
 2 module.exports={
 3     entry:[‘babel-polyfill‘,‘./js/a.js‘],
 4     output:{
 5         path:path.resolve(__dirname,‘dist‘),
 6         filename:‘[name].js‘
 7     },
 8     module: {
 9       rules: [
10       { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" },
11
12       {test:/\.css$/,use:[‘style-loader‘,‘css-loader‘,‘postcss-loader‘]},
13
14       {test:/\.scss$/,
15           use:[‘style-loader‘,
16           {loader:‘css-loader‘,options:{importLoaders:2}},
17           ‘postcss-loader‘,‘sass-loader‘]
18       },
19       //url
20       {
21         test: /\.(png|jpg|gif)$/,
22         use: [
23           {
24             loader: ‘url-loader‘,
25             options: {
26               limit: 8192
27             }
28           }
29         ]
30       },
31
32       {
33         test: /\.(png|jpg|gif)$/,
34         use: [
35           {
36             loader: ‘file-loader‘,
37             options: {
38               name: ‘[path][name].[ext]‘,
39               outputPath: ‘images‘
40       }
41           }
42         ]
43       }
44
45     ]
46 }
47
48 }
时间: 2024-07-29 16:30:44

复习webpack的常用loader的相关文章

webpack配置常用loader加载器

webapck中使用loader的方法有三种 使用loader之前必须运行安装 : npm install --save-dev xxx-loader (1)通过CLI : 命令行中运行 webpack --module-bind jade  --module-bind 'css=style!css' //jade,style,css后面可省略-loader,他们分别对.jade使用jade-loader,对.css使用style-loader和css-loader (2)通过require :

webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server

一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很有用的,所有建议生成) 2.安装webpaack a.在全局中安装webpack:npm install webpack -g b.将webpack安装到项目并将webpack写入package.json的devDependencies中:进入项目根目录,然后在命令行中输入npm install w

webpack进阶之loader篇

webpack的loaders是一大特色,也是很重要的一部分.这遍博客我将分类讲解一些常用的laoder 一.loaders之 预处理 css-loader 处理css中路径引用等问题 style-loader 动态把样式写入css sass-loader scss编译器 less-loader less编译器 postcss-loader scss再处理 npm install --save -dev css-loader style-loader sass-loader less-loade

webpack 中常用安装差件的命令

1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:npm install css-loader style-loader --save-dev//样式文件,我们需要两种loader,css-loader 和 style-loader,css-loader会遍历css文件,找到所有的url(...)并且处理.style-loader会把所有的样式插入到你页面的一个style tag中.3:npm install babe

webpack window 安装loader

1.安装loadernpm install css-loader style-loader --save-dev 2.配置loader,在webpack.config.js中 module: { loaders: [ { test: /\.css$/, loaders: ['style', 'css'], include: APP_PATH } ] }, 3.新建一个样式文件 main.css h1 { color: red; } 记得在入口文件index.js中引用 require('./ma

Webpack的使用指南-Webpack的常用解决方案

说是解决方案实际上更像是webpack的插件索引. 写这一篇的目的是为了形成一个所以,将来要用时直接来查找即可. 1.自动构建HTML,可压缩空格,可给引用的js加版本号或随机数:html-webpack-plugin 解决方案:使用插件 html-webpack-plugin webpack.config.js如下: module.exports = {entry: './src/app.js', output: { path: __dirname + '/dist', filename: '

webpack 中,loader、plugin 的区别

loader 和 plugin 的主要区别: loader 用于加载某些资源文件. 因为webpack 本身只能打包commonjs规范的js文件,对于其他资源例如 css,图片,或者其他的语法集,比如 jsx, coffee,是没有办法加载的. 这就需要对应的loader将资源转化,加载进来.从字面意思也能看出,loader是用于加载的,它作用于一个个文件上. plugin 用于扩展webpack的功能. 它直接作用于 webpack,扩展了它的功能.当然loader也是变相的扩展了 webp

9 loader - 分析webpack调用第三方loader的过程

注意:webpack处理第三方文件类型的过程: 1.发现这个要处理的文件不是JS文件,然后就去配置文件中,查找有没有对应的第三方loader规则 2.如果能找到对应的规则,就会调用对应的loader处理这种文件类型: 3.在调用loader的时候,是从后往前调用的: 4.当最后的一个loader调用完毕,会把处理的结果,直接交给webpack进行打包合并,最终输出到bundle.js中去 原文地址:https://www.cnblogs.com/songsongblue/p/11875843.h

iOS复习笔记13:常用结构体

都需要包含Foundation.h头文件 CG:CoreGraphics框架简称,CG开头的在Foundation框架中有声明,但是没有实现 NS:NextStep 一 NSRange范围 1 定义: typedef struct _NSRange{ NSUInteger location; NSUInteger length; }NSRange; 2 示例: NSString* str = @"I love OC"; // NSRange* rg = {2, 4}; // NSRan