# Webpack打包样式资源

# 入口文件引入样式

// 路径就自己看着引
import './index.css'
import './index.less'
import './index.scss'

# webpack配置文件

// webpack.config.js
/*
    webpack.config.js webpack的配置文件
       作用:指示webpack干什么。运行webpack指令时,会加载里面的配置
       所有构建工具都是基于node.js平台运行的,模块化默认采用commonjs

     package.json依赖
     "devDependencies": {
        "css-loader": "^4.2.0",
        "less-loader": "^6.2.0",
        "node-sass": "^4.14.1",
        "sass-loader": "^9.0.3",
        "style-loader": "^1.2.1",
        "webpack": "^4.44.1",
        "webpack-cli": "^3.3.12"
    }
*/

const { resolve } = require('path');

module.exports = {
    // 模式
    mode: 'development', // 或 production
    // 入口起点
    entry: './src/index.js',
    // 输出
    output: {
        // 输出文件名
        filename: 'app.js',
        // __dirname nodejs变量,代表当前文件的目录绝对路径
        path: resolve(__dirname, 'dist')
    },
    // Loader的配置
    module: {
        rules: [
            // 详细Loader的配置
            // 不同文件必须使用不同的Loader来处理
            {
                test: /\.css$/,
                // use数组中的loader执行顺序是:从数组末尾到数组头 依次执行。
                use: [
                    // 创建<style> 标签 将js中的样式资源插入进行,添加到head中生效
                    'style-loader',
                    // 将css 文件变成commonjs模块加载到js中,内容是样式字符串
                    'css-loader'
                ]
            }, {
                test: /\.less$/,
                use: [
                    'style-loader',
                    'css-loader',
                    // 将less文件编译成css文件
                    'less-loader'
                ]
            },
            // sass
            // npm install sass-loader node-sass webpack --save-dev
            // 失败则 npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass
            {
                test: /\.scss$/,
                use: [{
                    loader: "style-loader" ,// 将 JS 字符串生成为 style 节点
                    options:{
                        insertAt:'top' // 写成对象的好处就是可以传额外的参数 
                    }
                }, {
                    loader: "css-loader" // 将 CSS 转化成 CommonJS 模块
                }, {
                    loader: "sass-loader" // 将 Sass 编译成 CSS
                }]
            }

        ]
    },
    plugins: [
        // 详细插件配置
    ]
}

# 运行webpack指令

终端输入 webpack

# 建个html文件

查看是否成功🐃

将打包后的出口js文件在该html文件中引入,查看样式是否生效

Last Updated: 11/13/2022, 7:28:31 PM