webpck处理css预处理文件less,sass等

1、首先安装style-loader css-loader

npm i style-loader css-loader --save-dev

配置文件:

    test:/\.css$/,
    loader:'style-loader!css-loader' 

需要在样式中设置现在浏览器不是很支持的属性,比如flex,这是需要加浏览器前缀,此时用到postcss-loader,先安装

npm i  postcss-loader --save-dev

通过配置options来设置插件,记得安装。

var htmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path')

module.exports = {
    entry: './src/app.js',
    output: {
        path: __dirname + '/dist',
        filename: 'js/[name].bundle.js'
    },
    module: {
        loaders: [{
            test: /\.js$/,
            loader: 'babel-loader',
            // exclude:__dirname+'node_modules',//不对这个进行babel转换,这里边已经打包好,这样能减少打包时间
            // include:__dirname+'src',
            exclude: path.resolve(__dirname, 'node_modules'),
            include: path.resolve(__dirname, 'src'),
            query: { //若在package.json中定义了这个presets,则这边可以删掉
                presets: ['latest']
            }
        }],
        rules: [{
                test: /\.css$/,
                use: [
                    'style-loader',
                    { loader: 'css-loader', options: { importLoaders: 1 } }, //1这个number指的是在css-loader之后引用几个loader来处理import进来的文件
                    {
                        loader: 'postcss-loader',
                        options: {
                            plugins: [
                                require('postcss-import')(),
                                require('autoprefixer')({//浏览器前缀
                                    browsers: ['last 5 versions']
                                })
                            ]
                        }
                    }
                ]
            },
            {
                test:/\.less$/,//在前边css匹配中设置了importLoaders后,在less匹配时不用在配置
                use:[
                'style-loader',
                'css-loader',
                {loader:'postcss-loader',options:{
                    plugins: [
                                require('autoprefixer')({//浏览器前缀
                                    browsers: ['last 5 versions']
                                })
                            ]
                        }},
                'less-loader'
                ]
            },
            {
                test:/\.scss$/,//在前边css匹配中设置了importLoaders后,在less匹配时不用在配置
                use:[
                'style-loader',
                'css-loader',
                {loader:'postcss-loader',options:{
                    plugins: [
                                require('autoprefixer')({//浏览器前缀
                                    browsers: ['last 5 versions']
                                })
                            ]
                        }},
                'sass-loader'
                ]
            }
        ]
    },
    plugins: [
        new htmlWebpackPlugin({
            filename: 'index.html',
            template: 'index.html',
            inject: 'body',
            title: 'this is a complete webpack demo'
        })
    ]
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,542评论 7 35
  • Webpack学习总结 此文只是自己学习webpack的一些总结,方便自己查阅,阅读不变,非常抱歉!! 下载安装:...
    Lxs_597阅读 4,592评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 周易第十九卦:临---春天来临的故事 坤上兑下。“临”:元亨,利贞。至于八月,有凶。 初九:咸临,贞吉。 九二:咸...
    田园读书人阅读 4,852评论 0 5
  • “终于可以睡了!” 付旖挤上从上海到天津的高铁车厢,找到座位就昏睡过去。 这几天她连续奔跑在各城市看地块,连夜写市...
    异香梨阅读 4,136评论 2 9