webpack学习笔记(二)loader--css的打包和注入html

webpack: 配置style-loader的insertAt出现的问题 使用style-loader会默认将css文件里的样式拷贝到html文件里head标签的底部: 如果想要插入到head标签的顶部,应该使用insert,而不是insertAt,因为api改变了… 更新日志里说明了这一点: 正确的写法: module.exports = { module: { // 模块 rules: [ { test: /\.less$/, use:[ { loader:'style-loader', 阅读详情

loader用于对模块的源代码进行转换,在import或加载其他模块前可以使用loader进行预处理,比如可以把typescript转换成JavaScript,通过这样也允许了在JavaScript中引入css和less/sass文件。

以在JavaScript中importcss文件为例,首先要引入两个npm包:style-loader和css-loader

style-loader用于将处理好的css代码注入到html文件中的style标签

css-loader用于在import css文件前进行预处理

npm i style-loader css-loader -s

首先在根目录创建dist文件夹,src文件夹和webpack.config.js文件

在src下创建style文件夹存放css文件,编写css文件如下

div {
    width: 100px;
    height: 100px;
    background-color: black;
}

在src根目录下创建index.js文件并import css文件,创建一个dom并插入到页面中

import './style/index.css';

document.body.appendChild(document.createElement('div'));

编写webpack.config.js文件

const path = require('path');

module.exports = {
    entry: "./src/index.js", // 设置要打包的文件
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, 'dist')
    },
    mode: 'development',
    module: {
        rules: [{
            // 配置所有css文件
            test: /\.css$/,
            // 从右往左引用,先使用css-loader处理后再使用style-loader将css代码注入到html文件中
            use: ['style-loader', 'css-loader']
        }]
    }
}

在dist文件夹下创建html文件,导入打包生成的main.js

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script src="main.js"></script>
</body>

</html>

在页面中打开该文件,检查代码,发现css代码已经注入到style标签中

<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style type="text/css">div {
            width: 100px;
            height: 100px;
            background-color: black;
        }
        </style>
    </head>

    <body>
        <script src="main.js"></script>
        <div></div>
    </body>
</html>

less/sass和css的处理相似,在module.rules中的use后加多一个less-loader/sass-loader进行处理即可,webpack-config.js修改如下

const path = require('path');

module.exports = {
    entry: "./src/index.js", // 设置要打包的文件
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, 'dist')
    },
    mode: 'development',
    module: {
        rules: [{
            test: /\.less$/,
            use: ['style-loader', 'css-loader', 'less-loader']
        }]
    }
}

 

一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用 阅读详情

相关推荐

webpack-inject-plugin:一个webpack插件,用于将代码动态注入到包中

webpack-inject-plugin 一个webpack插件,用于将代码动态注入到包中。 您可以查看示例 用法 # webpack . config . js const InjectPlugin = require ( 'webpack-inject-plugin' ) . default ; module . exports = { // Other stuff in your webpack config plugins : [ new InjectPlugin ( function ( ) { return "console.log('Hello World');" } ) ; ] } ; 该webpack插件接受一个参数,该参数将返回要注入到捆绑包中的代码。 该函数是使用与加载程序相同的

webpack如何打包css并将css引入index.html

style-loader:会将css 插入到dom中(将css以style标签的形式插入到head中)注意:一般正式环境做css抽离,可以减小单个文件的大小,但是需要做css样式隔离,详情见下文。可以通过插件 mini-css-extract-plugin。1、在资源模块中 针对特定的文件 如.css文件,使用loader进行解析。2、如何将css抽离 以link标签的形式引入呢?开发环境不做css抽离 css抽离会降低编译速度;css-loader: 会对。

m0_65059691的博客 921

inject-html-webpack-plugin:将脚本标签和样式链接注入到您的html中

注入html-webpack-plugin 受启发,简单高效的Webpack插件可将脚本标签和样式链接注入到html中 安装 npm install inject - html - webpack - plugin -- save -- dev 用法 在您的webpack.config.js中添加插件 var InjectHtmlPlugin = require ( 'inject-html-webpack-plugin' ) module . exports = { entry : { index : "./index.js" } , module : { loaders : [ ... ] } , output : { path : './dist' ,

loader-配置处理css、less、scss文件处理

使用webpack打包css文件 import './css/index.css' 直接运行会报错,需要配置loader 运行cnpm i style-loader css-loader --save-dev 修改webpack.config.js这个配置文件: module: { // 用来配置第三方loader模块的 rules: [ // 文件的匹配规则 { test: /\.css$/, use: ['style-loader', 'css-loader

qq_41309350的博客 1027

SAP FICO实操:如何修改已发生业务数据的成本中心公司代码(附RKACOR06程序运行指南)

本文详细解析了SAP FICO系统中使用RKACOR06程序修改已发生业务数据的成本中心和公司代码的实操方法。通过实战案例分享,提供从前期准备到后期验证的全流程指南,帮助企业应对组织架构重组或财务核算体系调整时的数据迁移挑战,特别适用于跨公司代码的成本中心划转场景。

weixin_27303545的博客 189

colmap+openMVS稠密重建

简要记录一下colmap+openMVS稠密重建相关使用。

weixin_41631106的博客 2243

vue-cli(webpack)自动注入全局Sass或Less样式

在vue项目中,我们并不能像*.css一样,直接在项目入口main.js导入Sass/Less样式。那么,我们应该如何导入Sass/Less的全局样式呢。

qq_58062502的博客 1127

ISO 15118-3协议栈开发避坑指南:从EvseSlac状态机设计看电动汽车充电握手难题

本文深入剖析了ISO 15118-3协议栈开发中的核心挑战,特别是SLAC握手流程的实现难点。以Everest项目的EvseSlac状态机为例,详细解读了从状态机设计、多厂商PLC芯片兼容性处理,到严苛的时序与超时控制等关键工程实践,为开发者提供了一套超越协议文档的、可直接落地的避坑指南和软件实现方案。

jump7的博客 267

webpack性能优化以及process.env.NODE_ENV变量的注入

webpack性能优化 优化方向 优化开发体验 1. 打包构建时间 优化输出质量 1. 打包后的代码 体积小,没有冗余代码 ① 配置loader的使用范围 尽可能使用includes或者exclude【推荐使用includes,范围更小】 如果不配置这个属性,webpack会从项目的根目录查找相应的文件进行打包 ② 依赖的搜索目录 明确告诉webpack依赖安装的目录 ③ 希望大家不要...

qq_37899792的博客 2369

群晖Lucky套件高级玩法-——更新证书同步更新群晖自带证书

群晖Lucky套件高级玩法-——更新证书同步更新群晖自带证书

wojuzi的博客 2455

全国青少年信息素养大赛图形化(Scratch)编程考点总结

全国青少年信息素养大赛图形化(Scratch)编程考点总结

伶俐角少儿编程 382

【webpack实战】对一个纯HTML、CSS品优购静态商城网站打包

前面写了一些关于webpack专辑的博客,在这里小试牛刀,对一个静态网站进行打包,做到学以致用。 文章目录1.关于打包用到的资源与知识2.打包准备工作3.打包 1.关于打包用到的资源与知识 博客形式: 品优购商城 如何使用webpack实现模块化打包? 如何通过Loader实现特殊资源加载?实例加载css文件 插件机制横向扩展webpack的构建能力 三个插件的使用实例 2.打包准备工作 1.查看项目文件 2.进入项目所在的目录: 3.在项目目录安装webpack 由于 Webpack 是一个.

鸭绒的博客 2701

Qt Android MySql 数据库驱动编译(详细图解步骤)

第一步.先介绍下环境搭建: Qt 版本 5.12.11 下载链接 https://download.qt.io/archive/qt/5.12/5.12.11/qt-opensource-linux-x64-5.12.11.run Ubuntu 18.04.6 LTS 下载链接 JDK版本 1.8.0_191 下载链接https://www.oracle.com/java/technologies/downloads/ Android Studio版本 ...

h a 6 6 6 c k 为 你解决复杂难题! 3381

Webpack中常用的Loader和Plugin

本文介绍了Webpack中常用的Loader和Plugin及其分类。Loader部分详细说明了BabelLoader、CSS/StyleLoader、SassLoader等常见工具的使用方法,并按功能分为文件加载、模板编译、脚本转换、样式处理等类别。Plugin部分则列举了HTMLWebpackPlugin、CleanWebpackPlugin等核心插件,并分为行为修改、优化和其他三大类。文章通过具体配置示例,展示了Webpack生态系统中不同工具的实际应用场景和配置方式,为前端工程化构建提供了实用参考。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 1653

开放平台实现安全的身份认证与授权原理与实战:使用OAuth 2.0实现授权码模式

作者:禅与计算机程序设计艺术 1.背景介绍 随着互联网应用的飞速发展,各种网站、App、小程序等都将逐渐向用户提供了丰富的功能和服务。在这些应用中,用户通常需要登录才能使用这些服务,这就涉及到用户信息的安全问题。如果用户的信息被泄露或篡改,那么可能造成严重后果。因此,为这些应用提供安全且健壮的身份验

AI天才研究院 494

YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合

可扩展的高效物体检测BiFPN(加权双向特征金字塔网络)

Limiiiing的博客 5498

web前端高级webpack - webpack常见面试题及手写loader和plugin

webpack常见面试题 有哪些常见的Loader?你用过哪些Loader? css-loader:加载 CSS,支持模块化、压缩、文件导入等特性 style-loader:把 CSS 代码注入到 JavaScript 中,通过 DOM 操作去加载 CSS postcss-loader:扩展 CSS 语法,使用下一代 CSS,可以配合 autoprefixer 插件自动补齐 CSS3 前缀 -** babel-loader**:把 ES6 转换成 ES5 file-loader:把文件输出到一个文件

lixiaosenlin的专栏 6265

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

css-loader/style-loader/less-loader/sass-loader/postcss-loader各有什么作用,一次性说明白

简单介绍sass-loader、less-loader、postcss-loader、css-loader、style-loader起到什么作用

Wang_Si_D的博客 2695

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

css-loader 与 style-loader:Webpack 中样式加载的双雄

在现代前端开发中,Webpack 已成为构建项目的核心工具之一,而处理 CSS 样式时,css-loader 和 style-loader 是两个极为关键的模块。理解它们各自的功能以及为何常常搭配使用,对于深入掌握前端构建流程至关重要。

weixin_55862073的博客 1309

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

在前端打包工具例如webpack中,为什么会有loader和plugin,它是用来干嘛的?

Loader:用于转换和加载文件,如将 TypeScript 编译为 JavaScript,或将 SASS 转换为 CSS。它处理文件内容和文件类型的转换,主要用于模块的转换和加载。Plugin:用于在 Webpack 的构建过程中执行其他任务,如压缩代码、生成 HTML 文件、提取 CSS、清理目录等。主要用于更复杂的构建优化和功能增强。这两者在 Webpack 中各自承担不同的角色,loader 负责加载和转换文件,而 plugin 则在整个构建过程中进行其他的处理和优化。

qq_60535125的博客 1227

webpack一些常用的Loader和Plugin

在Webpack 5中,一些常用的loader和plugin被内置,这意味着你不再需要显式地在配置文件中安装和配置它们。这里就说几个常见的,其他更多的去webpack5官网看吧。

Hassan的小博客! 2028

webpack loader源码解析系列(四)-css-loader、style-loader

【代码】webpack loader源码解析系列(四)-css-loader、style-loader。

weixin_43294560的博客 1850

webpack中loader和plugin的区别

本文详细解析了Webpack中Loader和Plugin的核心区别。Loader用于转换模块源代码,作用于单个文件,如babel-loader转换ES6代码;Plugin扩展Webpack功能,作用于整个构建流程,如HtmlWebpackPlugin生成HTML文件。关键差异包括:Loader处理文件内容,配置在module.rules中;Plugin操作编译过程,通过plugins数组注册。文章还列举了常用Loader和Plugin,强调二者配合使用才能构建高效前端工程体系。

xuehao1997的博客 783

当下流行的打包工具Webpack从入门到熟练系统学习教程(二)Webpack怎么样打包处理资源

打包资源

编程教培一线讲师 942

常用Webpack Loader深度解析

Webpack的Loader是构建现代前端应用不可或缺的一部分。通过和处理CSS文件,转换JavaScript代码,和处理图片和字体文件等,我们能够有效地整合各种资源,为项目提供良好的开发和运行环境。在实际应用中,需要根据项目的具体需求和资源类型来合理选择和配置Loader,以达到最佳的开发效果。

你若盛开,清风自来 1603

webpack进阶 -- 自定义Plugin,Loader封装&打包优化

Webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。在 Webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),这个依赖图对应映射到项目所需的每个模块,并生成一个或多个 bundle。在这个过程中,Webpack 可以通过使用loader和plugin来扩展其功能。loader本质上是一个函数,loader的执行顺序在use数组里面是从下往上执行,里面有一个pitch方法,use数组中pitch。

qq_43817972的博客 1517
上一篇: 浅析web缓存
下一篇: JavaScript类型判断总结
前端小黑
博客等级 码龄9年 148粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值