webpack中的加载器

通过loader打包非js模块

在实际开发过程中,webpack 默认只能打包处理以.js 后缀名结尾的模块,其他非.js 后缀名结
尾的模块,webpack默认处理不,需要调用loader加载器才可以正常打包,否则会报错!

loader加载器可以协助webpack打包处理特定的文件模块,比如:

  • less-loader可以打包处理 .less相关的文件
  • sass-loader可以打包处理 .scss相关的文件
  • url-loader可以打包处理css中与url路径相关的文件

loader的调用过程

webpack中加载器的基本使用

1.打包处理css文件
①运行npm i style-loader css-loader -D命令,安装处理css文件的loader
②在webpack.config.js的module -> rules 数组中,添加loader 规则如下:

//所有第三方文件模块的匹配规则
module: {
    rules: [
        //正则表达式匹配后缀名中的“.”,以css结尾的文件类型
        { test: /\.css$/, use:['sty1e-loader', 'css-loader'] }
    ]
}

其中,test 表示匹配的文件类型,use 表示对应要调用的loader
注意:

  • use数组中指定的loader 顺序是固定的
  • 多个loader 的调用顺序是:从后往前调用

2.打包处理less文件
①运行 npm i less-loader less -D命令
②在 webpack.config.js的
module -> rules数组中,添加loader规则如下:

//所有第三方文件模块的匹配规则
module: {
    rules: [
    { test:/\.1ess$/,use: ['style-loader','csS-loader',' less-loader'] }
   ]
}

3.打包处理scss文件
①运行
npm i sass-loader node-sass -D命令
②在 webpack.config.js的module -> rules数组中,添加 loader 规则如下:

//所有第三方文件模块的匹配规则
module: {
rules:[
  { test:/\.scss$/,use: ['style-loader','css-loader','sass-loader'] }
 ]
}

注意:在本机测试时,
运行 npm i sass-loader node-sass -D命令 安装出错,
使用cnpm运行安装,安装成功
cnpm i sass-loader node-sass -D

4.配置postCSS自动添加css的兼容前缀
①运行 npm i postcss-loader autoprefixer -D命令
②在项目根目录中创建 postcss的配置文件postcss.config.js,并初始化如下配置:

const autoprefixer = require('autoprefixer') //导入自动添加前缀的插件
module.exports = {
plugins: [ autoprefixer ] //挂载插件
}

③在 webpack.config.js的module -> rules 数组中,修改css 的loader规则如下:

module: {
rules: [
    { test:/\.css$/,use: ['style-loader', 'css-loader', 'postcss-loader'] }
  ]
}

原文地址:https://www.cnblogs.com/songsongblue/p/12088650.html

时间: 2024-10-11 02:58:29

webpack中的加载器的相关文章

Webpack中无法加载babel ES6解析

webpack.config.js 设置配置如下 module.exports = { entry: { b: "./src/b.js", cc: "./src/c.js", es: "./src/es6.js" }, output: { filename: "[name].js", //filename:"[name][hash].js", //filename:"[chunkhash].js&

Webpack的加载器

一.什么是加载器(loaders) loaders 用于转换应用程序的资源文件,他们是运行在nodejs下的函数 使用参数来获取一个资源的来源并且返回一个新的来源(资源的位置),例如:你可以使用loader来告诉webpack去加载less文件.sass文件.es的js文件等 二.loaders 特性 loaders可以串联,他们应用于管道资源,最后的loader将返回javascript,其它的可返回任意格式(传递给下一个loader) loaders 可以同步也可以异步 loaders在no

webpack loader加载器

配置loader,通过加载器处理文件,例如css sass less等,告诉webpack每一种文件都需要使用什么来加载器来处理. 1.node.js安装好之后也会自动默认安装好npm,所以cmd cd进入当前项目下输入npm install babel-loader babel babel-core css-loader style-loader url-loader file-loader less-loader less --save-dev命令下载这些包. 2.修改webpack.con

webpack.config.js====CSS相关:::css加载器

1. 安装: //loader加载器加载css和sass模块 cnpm install style-loader css-loader node-sass sass-loader --save-dev //loader加载器加载css和less模块 cnpm install style-loader css-loader less less-loader --save-dev //样式抽离文件 如果是webpack4.X 需要加@next //现在webpack4.x支持mini-css-ext

webpack.config.js====CSS相关:::postcss-loader加载器,自动添加前缀

1. 安装:复制拷贝文件 cnpm install postcss-loader autoprefixer --save-dev 2. webpack.config.js中使用 rules: [ //配置css加载器 { test: /\.css$/, use: cssExtract.extract({ fallback: "style-loader", use: ["css-loader", "postcss-loader"] }) }, //

加载器中的预编

if (_type == "js") {//js预编译 var _script = "_define(function(exports,module){\n"; _script += "var $parent = \"" + _basePath + "\";\n"; _script += data.replace(/require\(/g, "_require($parent,"); _

java中三个类别加载器的关系以及各自加载的类的范围

Java在需要使用类别的时候,才会将类别加载,Java的类别载入是由类别载入器(Class loader)来达到的,预设上,在程序启动之后,主要会有三个类别加载器:Bootstrap Loader.ExtClassLoader与AppClassLoader. Bootstrap Loader是由C++撰写而成,预设上它负责搜寻JRE所在目录的classes或lib目录下的.jar档案中(例如rt.jar)是否有指定的类别并加载(实际上是由系统参数sun.boot.class.path指定):预设

jQuery Mobile 手动显示ajax加载器,提示加载中...

在使用jQuery Mobile开发时,有时候我们需要在请求ajax期间,显示加载提示框(例如:一个旋转图片+一个提示:加载中...).这个时候,我们可以手动显示jQuery Mobile的加载器,大致流程如下: 1. 启动加载器,显示“加载中...”: 2. 进行ajax请求,请求完成后更新页面数据,刷新jQuery Mobile控件样式: 3. 关闭加载器. 下面就来讲解jQuery Mobile 1.2.0 和 1.1.0 中手动显示加载器的方法(很简单,几行代码就OK了!). 首先是jQ

js模块化/js模块加载器/js模块打包器

之前对这几个概念一直记得很模糊,也无法用自己的语言表达出来,今天看了大神的文章,尝试根据自己的理解总结一下,算是一篇读后感. 大神的文章:http://www.css88.com/archives/7628(大神的文章写的很详细,建议先看完大神的文章) 一.js模块化 什么是js模块化,我们从历史说起. 1.一开始我们怎么写脚本?就是在html文件中用<script></script>写代码 这种方式的缺点:代码复用靠复制,基本是全局变量. 2.后来我们用js文件写代码,用<