200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 2. webpack 处理 css less sass scss styl 资源

2. webpack 处理 css less sass scss styl 资源

时间:2022-10-10 04:31:30

相关推荐

2. webpack 处理 css less sass scss styl 资源

👑 博主简介:知名前端工程师!

✒️ 出没地点:重庆-沙坪坝

💊 交流扣群:559658154,欢迎您的加入!

———————————————————————————————————————————

版权声明:本文为 CSDN 博主「Lady Marry」的原创文章,转载请附上原文出处链接及本声明。

文章目录

一. 前言二. 处理 Css 资源1. 下载包2. 配置3. 添加 Css 资源4. 运行指令三. 处理 Less 资源1. 下载包2. 配置3. 添加 Less 资源4. 运行指令四. 处理 Sass 和 Scss 资源1. 下载包2. 配置3. 添加 Sass 和 Scss 资源4. 运行指令五. 处理 Styl 资源1. 下载包2. 配置3. 添加 Styl 资源4. 运行指令

一. 前言

webpack 本身是不能识别样式资源的,所以我们需要借助 loader 来解析样式资源

我们可以去官方文档中找到对应的 loader,并且查看配置指南

webpack 官方 Loader 文档

二. 处理 Css 资源

1. 下载包

npm i css-loader style-loader -D

说明:

css-loader:负责分析出各个css文件之间的关系,把各个css文件合并成一个文件;style-loader:会动态创建一个 style 标签在 html 中,里面放置 webpack 中 css 模块内容

2. 配置

const path = require("path");module.exports = {entry: "./src/main.js",output: {path: path.resolve(__dirname, "dist"),filename: "main.js",},module: {rules: [{// 正则表达式匹配 .css 结尾的文件test: /\.css$/,// use 数组里面 Loader 执行顺序是从右到左use: ["style-loader", "css-loader"]}]},plugins: [],mode: "development", //开发模式};

3. 添加 Css 资源

创建一个文件:src/css/index.css

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

main.js 中引入 css 文件

import count from "./js/count";import sum from "./js/sum";// 引入 Css 资源,Webpack才会对其打包import "./css/index.css";console.log(count(2, 1));console.log(sum(1, 2, 3, 4));

public/index.html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>webpack5</title></head><body><h1>Hello Webpack5</h1><!-- 准备一个使用样式的 DOM 容器 --><div class="box1"></div><!-- 引入打包后的js文件,才能看到效果 --><script src="../dist/main.js"></script></body></html>

4. 运行指令

npx webpack

打开 index.html 页面查看效果

三. 处理 Less 资源

1. 下载包

npm i less-loader -D

说明:

less-loader:负责将 Less 文件编译成 Css 文件

2. 配置

增加 less 模块的规则

const path = require("path");module.exports = {entry: "./src/main.js",output: {path: path.resolve(__dirname, "dist"),filename: "main.js",},module: {rules: [{// 用来匹配 .css 结尾的文件test: /\.css$/,// use 数组里面 Loader 执行顺序是从右到左use: ["style-loader", "css-loader"],},{test: /\.less$/,use: ["style-loader", "css-loader", "less-loader"],},],},plugins: [],mode: "development",};

3. 添加 Less 资源

创建一个 less 文件:src/less/index.less

.box2 {width: 100px;height: 100px;background-color: deeppink;}

main.js 引入 less 文件

import count from "./js/count";import sum from "./js/sum";// 引入资源,Webpack才会对其打包import "./css/index.css";import "./less/index.less";console.log(count(2, 1));console.log(sum(1, 2, 3, 4));

public/index.html 文件中写一个 .box2 div

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>webpack5</title></head><body><h1>Hello Webpack5</h1><div class="box1"></div><div class="box2"></div><script src="../dist/main.js"></script></body></html>

4. 运行指令

npx webpack

打开 index.html 页面查看效果

四. 处理 Sass 和 Scss 资源

1. 下载包

npm i sass-loader sass -D

说明:

sass-loader:负责将 Sass 文件编译成 css 文件sasssass-loader依赖sass进行编译

2. 配置

添加 sass 和 scss 模块的规则配置

const path = require("path");module.exports = {entry: "./src/main.js",output: {path: path.resolve(__dirname, "dist"),filename: "main.js",},module: {rules: [{// 用来匹配 .css 结尾的文件test: /\.css$/,// use 数组里面 Loader 执行顺序是从右到左use: ["style-loader", "css-loader"],},{test: /\.less$/,use: ["style-loader", "css-loader", "less-loader"],},{test: /\.s[ac]ss$/,use: ["style-loader", "css-loader", "sass-loader"],},],},plugins: [],mode: "development",};

3. 添加 Sass 和 Scss 资源

创建一个 sass 文件:src/sass/index.sass

/* 可以省略大括号和分号 */.box3width: 100pxheight: 100pxbackground-color: hotpink

创建一个 scss 文件:src/sass/index.scss

.box4 {width: 100px;height: 100px;background-color: lightpink;}

main.js 中引入两个文件

import count from "./js/count";import sum from "./js/sum";// 引入资源,Webpack才会对其打包import "./css/index.css";import "./less/index.less";import "./sass/index.sass";import "./sass/index.scss";console.log(count(2, 1));console.log(sum(1, 2, 3, 4));

public/index.html 中添加 .box3 和 .box4

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>webpack5</title></head><body><h1>Hello Webpack5</h1><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div><script src="../dist/main.js"></script></body></html>

4. 运行指令

npx webpack

打开 index.html 页面查看效果

五. 处理 Styl 资源

1. 下载包

npm i stylus-loader -D

说明:

stylus-loader:负责将 Styl 文件编译成 Css 文件

2. 配置

添加 styl 模块的规则配置

const path = require("path");module.exports = {entry: "./src/main.js",output: {path: path.resolve(__dirname, "dist"),filename: "main.js",},module: {rules: [{// 用来匹配 .css 结尾的文件test: /\.css$/,// use 数组里面 Loader 执行顺序是从右到左use: ["style-loader", "css-loader"],},{test: /\.less$/,use: ["style-loader", "css-loader", "less-loader"],},{test: /\.s[ac]ss$/,use: ["style-loader", "css-loader", "sass-loader"],},{test: /\.styl$/,use: ["style-loader", "css-loader", "stylus-loader"],},],},plugins: [],mode: "development",};

3. 添加 Styl 资源

创建一个 styl 文件:src/styl/index.styl

.box5 width 100px height 100px background-color pink

main.js 中引入 styl 文件

import count from "./js/count";import sum from "./js/sum";// 引入资源,Webpack才会对其打包import "./css/index.css";import "./less/index.less";import "./sass/index.sass";import "./sass/index.scss";import "./styl/index.styl";console.log(count(2, 1));console.log(sum(1, 2, 3, 4));

public/index.html 中添加一个 .box5

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>webpack5</title></head><body><h1>Hello Webpack5</h1><!-- 准备一个使用样式的 DOM 容器 --><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div><div class="box5"></div><script src="../dist/main.js"></script></body></html>

4. 运行指令

npx webpack

打开 index.html 页面查看效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。