博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webpack css打包为一个css
阅读量:6278 次
发布时间:2019-06-22

本文共 5192 字,大约阅读时间需要 17 分钟。

1、安装

npm install extract-text-webpack-plugin --save-dev

 

2、项目目录:

index文件夹下的index.css:

body{
background-color: #ccc;}.flex-div{
display: flex;}

index文件夹下的index2.css:

p{
text-indent: 2em;}

index文件夹下的index-less.less:

.layer{
width: 600px; height: 200px; background-color: green; > div{ width: 400px; height: 200px; background:url(../../img/ais.jpg); } .flex{
display: flex; }}

index文件夹下的index.js:

require('./index-less.less');require('./index.css');require('./index2.css');require('../module.js');console.log('首页-index文件');

login文件夹下的index.js:

require('./login.css');require('../module.js');console.log('登录页-index文件');

login文件夹下的login.css:

div{
margin: 0; padding: 0;}

 

3、webpack.config.js

//处理html模板var htmlWebpackPlugin = require('html-webpack-plugin');//处理共用、通用的jsvar webpack = require('webpack');//css单独打包var ExtractTextPlugin = require("extract-text-webpack-plugin");module.exports = {    //    entry: './src/app.js',    entry: {        //通用模块        'common': ['./src/page/common/index.js'],        'login': ['./src/page/login/index.js'],        'index': ['./src/page/index/index.js']    },    output: {        path: __dirname + '/dist',        filename: 'js/[name].js'    },    //将外部变量或者模块加载进来    externals: {        'jquery': 'window.jQuery'    },    module: {        loaders: [{                test: /\.js$/,                //以下目录不处理                exclude: /node_modules/,                //只处理以下目录                include: /src/,                loader: "babel-loader",                //配置的目标运行环境(environment)自动启用需要的 babel 插件                query: {                    presets: ['latest']                }            },            //css 处理这一块            {                test: /\.css$/,                use: ExtractTextPlugin.extract({                    fallback: "style-loader",                    use: [                        //'style-loader',                        {                            loader: 'css-loader',                            options: {                                //支持@important引入css                                importLoaders: 1                            }                        },                        {                            loader: 'postcss-loader',                            options: {                                plugins: function() {                                    return [                                        //一定要写在require("autoprefixer")前面,否则require("autoprefixer")无效                                        require('postcss-import')(),                                        require("autoprefixer")({                                            "browsers": ["Android >= 4.1", "iOS >= 7.0", "ie >= 8"]                                        })                                    ]                                }                            }                        }                    ]                })            },            //less 处理这一块            {                test: /\.less$/,                use: ExtractTextPlugin.extract({                    fallback: "style-loader",                    use: [                        //'style-loader',                        {                            loader: 'css-loader',                            options: {                                //支持@important引入css                                importLoaders: 1                            }                        },                        {                            loader: 'postcss-loader',                            options: {                                plugins: function() {                                    return [                                        //一定要写在require("autoprefixer")前面,否则require("autoprefixer")无效                                        require('postcss-import')(),                                        require("autoprefixer")({                                            "browsers": ["Android >= 4.1", "iOS >= 7.0", "ie >= 8"]                                        })                                    ]                                }                            }                        },                        'less-loader'                    ]                })            },            //处理html模板            {                test: /\.html$/,                use: {                    loader: 'html-loader'                }            },            //处理图片            {                test: /\.(png|jpg|gif|svg)$/i,                loaders: [                    //小于8k的图片编译为base64,大于10k的图片使用file-loader                                'url-loader?limit=8192&name:img/[name]-[hash:5].[ext]',                    //图片压缩                    'image-webpack-loader'                ]            }        ]    },    plugins: [        new htmlWebpackPlugin({            template: 'index.html',            filename: 'index.html'        }),        // 独立通用模块到js/common.js        new webpack.optimize.CommonsChunkPlugin({            //公共块的块名称            name: 'common',            //生成的文件名            filename: 'js/common.js'        }),        new ExtractTextPlugin('css/[name].css')    ]}

 

4、执行

npm run webpack

 

5、效果

 

 

转载地址:http://qlyva.baihongyu.com/

你可能感兴趣的文章
TCP的三次握手四次挥手
查看>>
关于redis的几件小事(六)redis的持久化
查看>>
package.json
查看>>
webpack4+babel7+eslint+editorconfig+react-hot-loader 搭建react开发环境
查看>>
Maven 插件
查看>>
初探Angular6.x---进入用户编辑模块
查看>>
计算机基础知识复习
查看>>
【前端词典】实现 Canvas 下雪背景引发的性能思考
查看>>
大佬是怎么思考设计MySQL优化方案的?
查看>>
<三体> 给岁月以文明, 给时光以生命
查看>>
Android开发 - 掌握ConstraintLayout(九)分组(Group)
查看>>
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>