美文网首页
webpack之资源解析

webpack之资源解析

作者: LXEP | 来源:发表于2021-05-07 16:22 被阅读0次

解析ES6

使用babel-loader

module.exports = {
    module: {
        rules: [
            { 
                test: /\.js$/,
                use: 'babel-loader'
            }
        ]
    },
};

babel的配置文件是:.babelrc

{
    "presets": [
        "@babel/preset-env" //增加ES6的babel preset配置
    ],
    "plugins": [
        "@babel/proposal-class-properties"
    ]
}

安装依赖,其中iinstall的简称,-D--save--dev的简称

npm i @babel/core @babel/preset-env babel-loader -D

解析React JSX

安装依赖

npm i -D @babel/preset-react react react-dom

babel的配置文件是:.babelrc

{
    "presets": [
        "@babel/preset-env", // 增加ES6的babel preset配置
        "@babel/preset-react" // 增加 React 的 babel preset 配置
    ],
    "plugins": [
        "@babel/proposal-class-properties"
    ]
}

修改search.js文件

'use strict';

import React from 'react';
import ReactDOM from 'react-dom';

class Search extends React.Component {
    render () {
        return <div>Search Text</div>
    }
}

ReactDOM.render(
    <Search />,
    document.getElementById('root')
)

解析CSS

安装依赖

 npm i -D style-loader css-loader

css-loader 用于加载 .css 文件,并且转换成 commonjs对象,style-loader将样式通过<style>标签插入到head中。这里有一点需要注意,loaders调用的方式是链式调用的,因此它执行的顺序也是从右到左的

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

创建search.css

.search-text{
    font-size: 20px;
    color: red;
}

在search.js引入search.css

import "./search.css";

解析Less和SaSS

以Less为例,安装依赖less-loader用于将less转换成css,因为less-loader是依赖less的所以less依赖需要一起安装。

npm i -D less-loader less

修改配置

module.exports = {
    module: {
        rules: [
            { 
                test: /\.less$/,
                use: [ 
                    'style-loader',
                    'css-loader',
                    'less-loader'
                ]
            }
        ]
    },
};

解析图片

安装依赖,file-loader用于处理文件

npm i -D file-loader

修改配置

module.exports = {
    module: {
        rules: [
            {
                test: /\.(png|svg|jpg|jpeg|gif)$/,
                use: [
                    'file-loader'
                ]
            }
        ]
    },
};

解析字体

file-loader 也可以用于处理字体
修改配置

module.exports = {
    module: {
        rules: [
            {
                test: /\.(woff|woff2|eot|ttf|TTF|otf)$/,
                use: [
                    'file-loader'
                ]
            }
        ]
    },
};

修改less文件

@font-face {
    font-family: FANGZPPT;
    src: url('./font/FANGZPPT.TTF') format('truetype');
}

.search-text{
    font-family: 'FANGZPPT';
    font-size: 20px;
    color: red;
}

使用url-loader解析图片和字体

url-loader也可以处理图片和字体,可以设置较小资源自动base64。相比file-loader,它还可以做一个小图片和小字体,自动的base64的转换。在url-loader内部也是使用了file-loader的。

 npm i -D url-loader

url-loader接受一个参数,是通过options给loader传参,其中参数limit的意思是如果图片的大小小于这个limit值(下面的例子是10kb),那么webpack打包的话会自动将其转换成base64。

module.exports = {
    module: {
        rules: [
            {
                test: /\.(png|svg|jpg|jpeg|gif)$/,
                use: [
                    {
                        loader: 'url-loader',
                        options: {
                            limit: 10240 // 单位是字节
                        }
                    }
                ]
            }
        ]
    },
};

相关文章

  • webpack之资源解析

    解析ES6 使用babel-loader babel的配置文件是:.babelrc 安装依赖,其中i是instal...

  • vue中assets和static文件夹以及设置别名

    1、assets放动态资源 2、staitic放静态资源 assets目录中的文件会被webpack处理解析为模块...

  • mini-css-extract-plugin源码解析

    前言 前面我们写过几篇关于webpack的文章: webpack源码解析一 ... webpack源码解析七(op...

  • webpack 之 管理资源

    上一篇笔记整理了整合JS资源的过程,现在我们尝试整合一些其他资源 在 webpack 出现之前,前端开发人员会使用...

  • webpack noParse参数

    webpack noParse webpack精准过滤不需要解析的文件 webpack配置中 module配置...

  • webpack进阶——缓存与独立打包

    系列:webpack入门——了解及使用webpack基础——常用配置解析 先来看看最基础的webpack配置: 在...

  • webpack基础用法

    webpack webpack是一种前端资源构建工具,一个静态模块打包器,在webpack看来,前端所有资源文件都...

  • webpack入门学习笔记

    学习资源————阮一峰 webpack-demos webpack命令 根据webpack.config.js文件...

  • 常用网站

    Json在线解析 PS在线 android分类资源 android镜像资源 制图网站 流程图制作之Giffy Di...

  • webpack打包体积优化

    基于webpack的可视化资源分析工具webpack-bundle-analyzer分析优化项目资源。 安装web...

网友评论

      本文标题:webpack之资源解析

      本文链接:https://www.haomeiwen.com/subject/lixedltx.html