webpack打包多页应用,style-loader、css-loader无法处理css文件

发布于 2022-09-11 16:11:25 字数 1321 浏览 30 评论 0

尝试着通过webpack打包一个多页(多html文件)应用,但是在通过css-loaderstyle-loader打包css文件时,发现入口js导入的css无法打包到html文件的head标签部分(并且尝试着通过extract-text-webpack-plugin提取css为单独文件也报错了——暂不考虑)

webpack配置文件如下:

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

js入口(chunk)文件如下(src/pages/about/index.js):

import './css/index.css'
export default {
    
}

源码地址:https://gitee.com/qingyun1029/webpack-for-multiple-page-demo

使用方式:

  1. 克隆项目到本地
    git clone git@gitee.com:qingyun1029/webpack-for-multiple-page-demo.git
  2. 安装依赖模块
    npm install
  3. 打包代码
    npm run build

格式化打包后的html会发现head标签内没有style标签及样式内容

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

补充:

突然发现一个奇怪的问题?我的package.json里面安装了html-webpack-plugincss-loaderstyle-loader,但是控制台的打包信息却只出现了前两者,style-loader并没有出现。
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

∞梦里开花 2022-09-18 16:11:25

你是期望html中静态输出style标签? style-loader是动态渲染的,常规的做法就是extract-text-webpack-pluginstyle-ext-html-webpack-plugin https://github.com/numical/st... 两个插件配合。

黒涩兲箜 2022-09-18 16:11:25

解决方法请参考(或请持续关注):https://github.com/webpack-co...

补充

之前提出这个问题的原因是一直以为通过style-loader处理过的css会以style标签插入到打包后的html原文件里面——就像通过html-webpack-plugin处理后的html文件一样——打包后的源码中包含.js文件

晕倒,可能是自己误会了,虽然经过html-webpack-plugin插件处理过后的js文件会插入到htmlbody结束标签之前,但是经过style-loader处理过的css文件却不会插入过head(结束)标签之前——需要通过浏览器打开打包后的静态文件,然后f12才能看到head标签处的style相关样式。

图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文