首页 > 其他分享 >webpack--loader

webpack--loader

时间:2023-09-10 15:11:06浏览次数:36  
标签:-- study js webpack workSpace loader css

引言

因为webpack默认只能解析js资源,当我们要处理css等资源时,无法进行处理,所以我们就要通过loaderloader来载入加载器来对相应的资源做特定的解析。

报错案例

例如:我们直接在js中引入css文件再次编译时,会报错。

index.css

.box1{
    width: 100px;
    height: 100px;
    background-color: pink;
}

我们在main.js中引入它

import count from './js/count'
import sum from './js/sum'
// 想要webpack打包资源,必须引入资源
import './css/index.css'

console.log(count(2, 1))
console.log(sum(2, 1,3))

在输入npx webpack命令时会报错:

ERROR in ./src/css/index.css 1:0
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> .box1{
| width: 100px;
| height: 100px;
@ ./src/main.js 4:0-24

webpack 5.88.2 compiled with 1 error in 101 ms

解决方法

我们在webpack.conf.js文件中在module.rules中添加loader:

    // 加载器
    module: {
        rules: [
            // loader的设置
            {
                test: /\.css$/, // 只想检测.css文件
                use: [  // 执行顺序:先下后上
                    'style-loader', // 将js中的css通过创建style标签添加到html文件中生效
                    'css-loader'    // 将css资源编译成commonjs的模块到js中
                ]
            }
        ],
    },

但是现在执行打包依然会报错,但是报错内容不一样:

Module not found: Error: Can't resolve 'style-loader' in 'E:\workSpace\JavaScript\webpack_study'
resolve 'style-loader' in 'E:\workSpace\JavaScript\webpack_study'
  Parsed request is a module
  using description file: E:\workSpace\JavaScript\webpack_study\package.json (relative path: .)
    resolve as module
      looking for modules in E:\workSpace\JavaScript\webpack_study\node_modules
        single file module
          using description file: E:\workSpace\JavaScript\webpack_study\package.json (relative path: ./node_modules/style-loader)
            no extension
...............

此时,我们只需要安装对应的loader在执行打包即可:

PS E:\workSpace\JavaScript\webpack_study> npm i style-loader

added 1 package in 2m
PS E:\workSpace\JavaScript\webpack_study> npm i css-loader  

added 16 packages in 2m

其余资源的loader使用也是类似,举一反三地工作这里就不重复了。

标签:--,study,js,webpack,workSpace,loader,css
From: https://www.cnblogs.com/fanick/p/17691203.html

相关文章

  • Java语言的特点,面向对象和面向过程的区别,八种基本数据类型的大小以及封装类
    1、Java语言有哪些特点1、简单易学、有丰富的类库2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高3、与平台无关性(JVM是Java跨平台使用的根本)4、可靠安全5、支持多线程2、面向对象和面向过程的区别面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后......
  • 信管知识梳理(三)软件工程相关知识
    软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生成率、提高软件质量、降低软件成本。一、需求分析软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。1.1软件需求层次软件的需求主要分为三个......
  • Java从入门到精通-类和对象(一)
    0.类和对象1.面向对象概述Java面向对象编程(Object-OrientedProgramming,OOP)是一种强大的编程范式,它基于对象、类、封装、继承和多态等核心概念。这种编程范式使得代码更加模块化、可维护、可重用和可扩展。1.1对象和类在Java中,一切都是对象。对象是程序中的基本单位,它代表现实世......
  • 优秀的 Modbus 主站(主机、客户端)仿真器、串口调试工具
    [TOC]优秀的Modbus主站(主机、客户端)仿真器、串口调试工具modbusmaster,modbus,串口,工控,物联网,PLC,嵌入式官网下载地址:http://www.redisant.cn/mme主要功能支持多种Modbus协议,包括:ModbusRTUModbusASCIIModbusTCP/IPModbusUDP/IPModbusRTUOverTCP/IPModbusRTUOverUD......
  • 函数和条件控制
       ......
  • C语言---数据存储
    我们知道一个变量在内存中存储是要开辟一块内存空间来存储的,那么该为这个变量开辟多大的内存空间呢?这个要依据变量的类型,我们知道int类型的变量大小是4个字节,char类型的变量大小是1个字节,创建一个变量时,根据其类型来为变量申请对应大小的空间。问题:那么不同类型的数据在内存中到底......
  • 推挽和开漏
    这边的Q1好像右边的箭头反了,不管了。B站视频:推挽开漏1.这边的如果Q1的MOS管打开,Q2关断,那么看图中电流的方向就是一个电流流出,(就像控制器把电流推出去一样)2.这边的如果Q1的MOS管关断,Q2打开,那么看图中电流的方向就是一个电流流入,从外部进来,(就像控制器把电流挽回来一样)以上这两......
  • 系统负载高排查
    情况1:CPU高、Load高top命令查询 情况2:CPU低、Load高通过指令ps-axjf查看是否存在D状态进程。D状态是指不可中断的睡眠状态。该状态的进程无法被kill,也无法自行退出。只能通过恢复其依赖的资源或者重启系统来解决。等待I/O的进程通过处于uninterruptiblesleep或D状态;......
  • 基础开发环境搭建
    操作系统:CentOS7.664位运行内存:8G存储空间:200G安装gcc和g++yuminstall-ycentos-release-scl-rhyuminstall-ycentos-release-scl#安装gcc7yuminstalldevtoolset-7-gcc.x86_64yuminstalldevtoolset-7-gcc-c++.x86_64#启用sclenabledevtoolset-7bash#......
  • 大规模分布式训练并行模式
    大规模分布式训练并行模式数据并行DataParallelism  模型在不同GPU上具有完全一致的副本,包括模型参数、模型梯度、模型优化器状态,这些都是完全相同的。唯一不同的是不同GPU上处理的数据是不同的,在每次梯度更新时,对所有数据产生梯度之和求平均,然后更新。管道并行PipelineP......