• 用webpack构建项目(3)处理css文件


    安装style-loader css-loader

        npm i style-loader css-loader -D
    

    模块 loader 可以链式调用。链中的每个 loader 都将对资源进行转换。链会逆序执行。第一个 loader 将其结果(被转换后的资源)传递给下一个 loader,依此类推。最后,webpack 期望链中的最后的 loader 返回 JavaScript。loader的执行顺序是从右到左的。

    项目目录结构

        F:\webpack-demo
        ├── dist/
        |  ├── index.html
        |  └── main.js
        ├── package-lock.json
        ├── package.json
        ├── public/
        |  └── index.html
        ├── README.md
        ├── src/
        |  ├── index.js             <!-- webpack入口文件 -->
        |  └── style.css            <!-- 要使用的css文件 -->
        └── webpack.config.js
    

    在webpack入口文件中引入css文件(src/index.js)

        import  "./style.css";
    

    配置webpack.config.js

        const path = require("path");
        const HtmlWebpackPlugin = require("html-webpack-plugin");   // 引入html-webpack-plugin插件
    
        module.exports = {
            mode:"production",          // 模式(mode):webpack 使用相应模式的内置优化
            entry: "./src/index.js",    // 入口(entry):webpack打包的入口
            output: {                   // 输出(output):webpack编译打包后的文件输出的位置
                filename: 'main.js',
                path: path.resolve(__dirname, 'dist'),
            },
            plugins:[                   // 插件(plugin):打包优化,资源管理,注入环境变量。
                new HtmlWebpackPlugin({
                    title:"webpack-笔记",                // 用于生成的HTML文档的标题
                    filename: "index.html",             // 指定打包生成html文件的名称
                    template: "./public/index.html",    // 指定使用哪个html文件为模板,如果不指定会使用默认配置
                    minify: {                           // 优化html-webpack-plugin生成的html文件
                        collapseWhitespace: true,       // 设置为true 压缩html,去掉html文件中的空格,换行
                    },
                    inject: true,                       // 默认为true,打包和自动引入js、css等文件。  设置为false不会自动引入js、css等文件
                    // chunks: ["main"],  用于多入口,指定加载哪些入口文件(chunks),多页应用会用到
                })
            ],
            module: {                   // loader:处理其他类型的文件,webpack只能处理JavaScript和JSON文件,要处理其他文件就需要loader
                rules: [
                    {
                        test: /\.css$/i,
                        use: ['style-loader', 'css-loader'],
                        // 保证 loader 的先后顺序:'style-loader' 在前,而 'css-loader' 在后。
                        // css-loader先处理css文件,style-loader在处理css样式
                    },
                ],
            }
        };
    

    打包js、html、css文件文件

        npm run build
    

    loader参考:

    loader
    loading-css
    style-loader
    css-loader

  • 相关阅读:
    MySQL之----在java编程加强知识点
    走进windows编程的世界-----入门篇
    对Java、C#转学swift的提醒:学习swift首先要突破心理障碍。
    LeetCode--N-Queens
    美国人与欧洲人为什么都吃转基因食品?
    hdu1290
    OS 中文斜体 Italic Font Chinese
    为什么那些每三年跳一次槽的人越跳越好?
    [博弈] hdu 3683 Gomoku
    HDU 5358 First One(枚举)
  • 原文地址:https://www.cnblogs.com/cisbest/p/13416861.html
Copyright © 2020-2023  润新知