• webpack加载css文件及其配置


    webpack加载css文件及其配置

    1. 当我们写了几个css文件之后如果想要引用到html中去的话我们最开始的方式就是通过link标签将css文件导入进去,但是如果我们的css文件有很多的话,一个个的导入是不推荐的;而现在我们学了webpack,我们希望的是通过打包bundle.js文件,将所有的依赖文件全部导入进去。
    2. 我们要知道的是,如果在入口函数main.js文件中如果没有导入css文件,那么打包的bundle.js文件必然不会有css文件,所有我们需要让main.js文件依赖css文件。
    3. 使用代码:require('css文件地址')
    4. 依赖完之后,我们再打包一下 npm run build 会发现报错了。错误为:You may need an appropriate loader to handle this file type。意思是说你可能需要一个合适的loader来处理这个文件
    5. 于是我们打开webpack的中文网址,在里面找到了我们需要安装 css-loader 和 style-loader 这两个loader。并且我们还需要在webpack.config.js文件中配置一下这些loader
    6. 于是我们使用npm下载这两个依赖,代码如下:npm install css-loader style-loader --save-dev
    7. 在webpack.config.js文件中,有一个module的属性,该属性为一个对象,在该对象中有个rules属性,是一个数组,数组中的每一项都是处理不同文件loader所需要的对象。代码如下:
        const path = require('path');
        module.exports = {
            // 在配置文件中,手动指定 入口 文件和 出口 文件
            mode:'development',   //  webpack4.x版本中需要加入这个属性
            entry:'./src/main.js',  //  入口文件
            output:{  //  出口文件
                path:path.resolve(__dirname,'dist'),  //  指定将要打包好的文件应该要输出到哪个地方去(注意:路径必须是绝对地址)
                filename: 'bundle.js' //  指定输出文件的文件名
            },
            module:{
                rules:[
                {test:/.css$/ , use:['style-loader' , 'css-loader']}
                ]
            }
        }
    
    1. 其中test表示我们要处理的是哪种类型的文件,use中的每一项则是处理该类文件需要的loader。
      注意:css-loader这个loader的作用是用来让main.js文件加载该css文件,而style-loader的作用是将模块的导出作为样式添加到 DOM 中。这里可能有人会有疑问:按这样的作用来讲的话应该先加载文件再作为样式添加到DOM中去才对,那数组中的顺序应该不是这样的。我在这里很明确的告诉你,你的想法是没有错的,只是webpack他这一点非常的奇特,它是从数组的最后一个元素,从右到左的顺序加载loader的。
    2. 设置依赖,下载好loader并配置完之后,我们再运行之后便发现css文件中的样式就出来了。
  • 相关阅读:
    python定时任务:apscheduler的使用(还有一个celery~)
    Python定时任务-schedule vs. Celery vs. APScheduler
    结合Django+celery二次开发定时周期任务
    The Django Book 2.0--中文版
    第十二章: 部署Django
    Django扩展自定义manage命令
    使用django-extension扩展django的manage――runscript命令
    Django | 执行项目下指定的脚本
    C语言宏定义技巧——多次包括头文件内容不同
    《Java并发编程实战》第十章 避免活跃性危急 读书笔记
  • 原文地址:https://www.cnblogs.com/liuyilong/p/11910922.html
Copyright © 2020-2023  润新知