webpack入门二

2021-04-16  本文已影响0人  焚心123
#app{
    width: 400px;
    height: 400px;
    border: 1px solid palegreen;
}
.head{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: red;
    margin: 40px;
}
import './index.css';//todo 这是我们引入的样式文件
let a = '11111';
console.log('sadada');
<body>
    <div id="app">
        <p class="head"></p>
    </div>
</body>

下载相应的解析css的loader
npm install style-loader css-loader -D //todo 目前只在本地运行所以-D

    const path = require('path');
    //todo 通过HtmlWebpackPlugin这个插件,可以将index.html进行复制,打包后会将打包的js文件等自动的引入
    const HtmlWebpackPlugin = require('html-webpack-plugin');
    module.exports = {
        // entry:'./src/index.js',//入口文件(单文件入口)
        entry:{//todo 多文件入口
            index:'./src/index.js',
            // main:'./src/main.js'
        },
        output:{
            path:path.resolve(__dirname,'./build'),//todo 打包后存放的文件名
            filename:'[name].js'//todo 打包后的文件名,单文件'build.js'直接写,多文件[name],入口文件名是啥,打包后还是啥
        },
        //todo 当前的模式,none 不做任何的处理 development开发环境做了相应的处理,方便调试,production生产环境会启动相应的插件
        mode:'development',
        module:{//todo 模块,一般可以将我们的scss,less,.vue等进行loader解析,在输出
            rules:[//todo 规则
                {//todo 每个模块都是独立的
                    test:/\.css$/,//todo .css结尾的文件进行解析
                    use:['style-loader','css-loader']//todo 自后往前的顺序,不能写错了,还可以单独的配置loader
                }
            ]
        },
        plugins:[//todo 不同的插件,可以帮助我们处理不同的事
            new HtmlWebpackPlugin({
                template:'./src/index.html'
            })
        ]
    }
image.png

* 根据上面的配置好了之后,使用npm run build 进行打包,这时你就可以在浏览器中看到样式已经作用上了

$color-red:red;
$color-orange :orange;
$head-width:40px;
body{
    #app{
        width: 400px;
        height: 400px;
        background: $color-orange;
        .head{
            width: $head-width;
            height: $head-width;
            background: $color-red;
        }
    }
}
import './index.scss';
let a = '11111';
console.log('sadada');

下载 npm install sass-loader@10.1.1 node-sass webpack -D //sass-loader最新版本有点问题,打包的时候报错了,所以降低版本

npm install --save-dev postcss-loader postcss
npm install autoprefixer -D //这是加css前缀的
npm install cssnano -D //这是css进行压缩的

module.exports = {
    plugins: [
      require('autoprefixer'),//引入这个插件就可以了
      require('cssnano')//引入这个插件就可以了
    ]
  }
image.png image.png

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

image.png image.png image.png
上一篇下一篇

猜你喜欢

热点阅读