当前位置: 首页 > news >正文

使用 webpack,将 JS 文件中的 css 提取到单独的样式文件中

1. 安装必要的依赖

首先,你需要安装 mini-css-extract-plugin 和相关的加载器。mini-css-extract-plugin 是一个用于将 CSS 提取到单独文件的 Webpack 插件。

npm install --save-dev mini-css-extract-plugin css-loader style-loader

2. 配置 Webpack

接下来,你需要在 Webpack 配置文件中(通常是 webpack.config.js)添加相应的加载器和插件。

const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');module.exports = {entry: './src/index.js', // 你的入口文件output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist') // 输出目录},module: {rules: [{test: /\.css$/,use: [MiniCssExtractPlugin.loader, // 替换 style-loader,将 CSS 提取到单独文件'css-loader']},{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader'}}]},plugins: [new MiniCssExtractPlugin({filename: '[name].css', // 输出的 CSS 文件名chunkFilename: '[id].css' // 分割出的 CSS 文件名})]
};

3. 使用 CSS

在你的 JavaScript 文件中,你可以像往常一样导入 CSS 文件:

// src/index.js
import './styles.css';console.log('Hello, Webpack!');

4. 创建 CSS 文件

在 src 目录下创建一个 styles.css 文件:

/* src/styles.css */
body {background-color: #f0f0f0;font-family: Arial, sans-serif;
}

5. 运行 Webpack

最后,运行 Webpack 构建命令:

npx webpack

6. 查看输出

构建完成后,你可以在 dist 目录下看到生成的 bundle.js 和 main.css 文件。main.css 文件包含了从 JavaScript 文件中提取的 CSS 代码。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端开发迎来新机会,全栈转型就靠这个!
  • OceanBase 3.X 高可用 (一)
  • 利用git将项目上传到github
  • 图表示学习中的Transformer:Graphormer的突破
  • idea怎么快速生成get set方法,快捷键是什么?
  • MySQL—视图详解
  • 【结构型】树形结构的应用王者,组合模式
  • ubuntu安装无线网卡驱动(非虚拟机版)
  • 安卓13修改设置设备型号和设备名称分析与更改-android13设置设备型号和设备名称更改
  • 【计算机网络篇】物理层
  • 【Android】使用Room数据库解决本地持久化
  • 配置win10开电脑时显示可登录账号策略
  • ER论文阅读-Incomplete Multimodality-Diffused Emotion Recognition
  • MySQL 8 查看 SQL 语句的执行进度
  • C++之初识STL(概念)
  • 【5+】跨webview多页面 触发事件(二)
  • 【React系列】如何构建React应用程序
  • 10个确保微服务与容器安全的最佳实践
  • canvas 五子棋游戏
  • CentOS 7 防火墙操作
  • css属性的继承、初识值、计算值、当前值、应用值
  • express.js的介绍及使用
  • gulp 教程
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • java第三方包学习之lombok
  • Js基础——数据类型之Null和Undefined
  • PAT A1050
  • python_bomb----数据类型总结
  • Python实现BT种子转化为磁力链接【实战】
  • React-生命周期杂记
  • Spark学习笔记之相关记录
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • WePY 在小程序性能调优上做出的探究
  • 服务器从安装到部署全过程(二)
  • 高性能JavaScript阅读简记(三)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 如何选择开源的机器学习框架?
  • 如何优雅地使用 Sublime Text
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 小程序 setData 学问多
  • 移动端解决方案学习记录
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 原生JS动态加载JS、CSS文件及代码脚本
  • nb
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • #LLM入门|Prompt#3.3_存储_Memory
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (4)logging(日志模块)
  • (python)数据结构---字典
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (七)Flink Watermark