webpack4环境搭建-处理css,sass以及压缩

简介: webpack4环境搭建-处理css,sass以及压缩

首先安装处理css的一些依赖:

1、css-loader,style-loader   //处理css基础loader

2、node-sass,sass-loader   //处理sass

3、postcss-loader,autoprefixer  //自动给css样式添加前缀,兼容浏览器

4、mini-css-extract-plugin  //提取css

5、optimize-css-assets-webpack-plugin   //压缩css的

"devDependencies": {
    "autoprefixer": "^9.6.1",
    "css-loader": "^3.2.0",
    "mini-css-extract-plugin": "^0.8.0",
    "node-sass": "^4.12.0",
    "optimize-css-assets-webpack-plugin": "^5.0.3",
    "postcss-loader": "^3.0.0",
    "sass-loader": "^8.0.0",
    "style-loader": "^1.0.0"
}

webpack.config.js文件代码

const webpack = require('webpack')
const path = require('path')
const HtmlwebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require("mini-css-extract-plugin") 
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const VueLoaderPlugin = require('vue-loader/lib/plugin')
module.exports = {
    mode:'development',
    entry: './src/main.js',
    output:{
        path:path.join(__dirname,'dist'),
        filename:'[name].[hash].js'
    },
    resolve:{
        extensions: ['.js', '.json', '.vue', '.scss', '.css'],
        alias:{
            'vue': 'vue/dist/vue.min.js',
            '@':path.join(__dirname,'src'),
            '@static':path.join(__dirname,'static')
        }
    },
    module:{
        rules:[{
            test:/\.(sa|sc|c)ss$/,
            use: [
                {
                    loader: MiniCssExtractPlugin.loader,
                    options: {}
                },
                {
                 loader: "css-loader" // 将 CSS 转化成 CommonJS 模块
                },
                {
                 loader: "sass-loader" // 将 Sass 编译成 CSS
                },
                {
                    loader: "postcss-loader" // 将 Sass 编译成 CSS
                }
               ]
        },{
            test: /\.vue$/,
            loader: 'vue-loader'
        },{
            test: /\.js$/,
            use: ['babel-loader'],
            exclude: /node_modules/
        }]
    },
    plugins:[
        new VueLoaderPlugin(),//处理vue文件
        new MiniCssExtractPlugin({//提取css
            filename:'[name].css' ,
            // chunkFilename: isDev ? '[id].css' : 'static/css/[id].[chunkhash:8].css',
        }),
        new OptimizeCssAssetsPlugin()//压缩css
    ]
}

这里代码里我们夹杂着处理vue文件和js文件的配置,如果不用可以去掉.

关于处理css前缀,在根目录创建postcss.config.js文件,里面贴如如下代码

module.exports = {
         plugins : [
             require('autoprefixer')({overrideBrowserslist: ['> 0.15% in CN']})// 自动添加css前缀
          ]
  };


相关文章
|
2月前
|
前端开发 UED
Webpack 中处理 CSS 和图片资源的多 Loader 配置
【10月更文挑战第12天】 处理 CSS 和图片资源是 Webpack 配置中的重要部分。通过合理选择和配置多个 Loader,可以实现对这些资源的精细处理和优化,提升项目的性能和用户体验。在实际应用中,需要不断探索和实践,根据项目的具体情况进行灵活调整和优化,以达到最佳的处理效果。通过对 Webpack 中多 Loader 处理 CSS 和图片资源的深入了解和掌握,你将能够更好地应对各种复杂的资源处理需求,为项目的成功构建和运行提供坚实的基础。
73 1
|
2月前
|
存储 前端开发 开发者
深入了解 Sass 和 SCSS:CSS 预处理器的强大功能
Sass(Syntactically Awesome Stylesheets)是一个强大的 CSS 预处理器,为开发者提供了诸多高级特性,如变量、嵌套、混合、继承等,简化了 CSS 的编写和管理。SCSS 是 Sass 3 引入的新语法,完全兼容 CSS3,并增强了 Sass 的动态功能。本文详细介绍了 Sass 和 SCSS 的核心特性及其在实际开发中的应用,如变量定义、嵌套规则、混合、继承、以及常用的操作符与扩展功能。
46 0
|
2月前
|
前端开发 开发者 容器
Vue3中Sass的安装与使用指南:轻松上手CSS预处理器
Vue3中Sass的安装与使用指南:轻松上手CSS预处理器
285 0
|
5月前
|
前端开发 C++
CSS预处理器之Sass(一)
CSS预处理器之Sass(一)
57 2
|
5月前
|
前端开发 JavaScript
vue3【实战】创建项目、创建并提交代码到远程仓库,安装 SASS, 清除浏览器默认样式 reset-css, 清除模板代码,提升开发效率的必要集成
vue3【实战】创建项目、创建并提交代码到远程仓库,安装 SASS, 清除浏览器默认样式 reset-css, 清除模板代码,提升开发效率的必要集成
82 0
|
5月前
|
前端开发
CSS预处理器之Sass(三)
CSS预处理器之Sass(三)
30 0
|
5月前
|
前端开发 JavaScript
CSS预处理器之Sass(二)
CSS预处理器之Sass(二)
33 0
|
6月前
|
存储 前端开发 JavaScript
详细解读CSS的压缩方法与解压
详细解读CSS的压缩方法与解压
45 0
|
6月前
|
存储 前端开发 JavaScript
详细解读CSS的压缩方法与解压
详细解读CSS的压缩方法与解压
45 0
|
7月前
|
XML 前端开发 数据格式
探索CSS预处理器:Sass、Less与Stylus
探索CSS预处理器:Sass、Less与Stylus