webpack 处理CSS

1、安装插件

npm i style-loader css-loader --save-dev
npm i postcss-loader --save-dev
npm i autoprefixer --save-dev
npm install postcss-import --save-dev
style-loader插件为:通过注入<style>标签将CSS添加到DOM中
autoprefixer 自动添加前缀
postcss-import:支持使用@import引入css

2、项目目录结构:

common.css为:

@import ‘./flex.css‘;
html,body{
    padding: 0;
    margin: 0;
    background-color: red;
}
ul{
    list-style: none;
    margin: 0;
}

flex.css为:

.flex-div{
    display: flex;
}

app.js为:

import  ‘./css/common.css‘;
import layer from ‘./components/layer/layer.js‘
const App = function(){
    console.log(layer)
}

new App()
3、webpack.config.js配置文件为:
var htmlWebpackPlugin = require(‘html-webpack-plugin‘);
module.exports = {
    entry: ‘./src/app.js‘,
    output: {
        path: __dirname + ‘/dist‘,
        filename: ‘js/[name].js‘
    },
    module: {
        loaders: [{
                test: /\.js$/,
                //以下目录不处理
                exclude: /node_modules/,
                //只处理以下目录
                include: /src/,
                loader: "babel-loader",
                //配置的目标运行环境(environment)自动启用需要的 babel 插件
                query: {
                    presets: [‘latest‘]
                }
            },
            //css 处理这一块
            {
                test: /\.css$/,
                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"]
                                    })
                                ]
                            }
                        }
                    }
                ]
            }
        ]
    },
    plugins: [
        new htmlWebpackPlugin({
            template: ‘index.html‘,
            filename: ‘index.html‘
        })
    ]
}

4、执行编译&查看结果

npm run webpack

 
 
时间: 2024-08-06 12:37:34

webpack 处理CSS的相关文章

react&amp;webpack使用css、less &amp;&amp; 安装原则 --- 从根本上解决问题。

在webpack-react项目中,css的使用对于不同人有不同的选择,早起是推荐在jsx文件中使用 css inline js的,但是这种方法要写很多对象来表示一个一个的标签,并且对于这些对象,我们在写样式时,还必须要使用驼峰式的写法,所以,这无疑使我们不能接受的,最好的做法就是讲css文件写在一个单独的文件夹中外联进来. webpack同时也是可以将css文件当做一个一个的模块的,所以,我们就需要对css模块的处理进行配置. npm install css-loader style-load

webpack&#20998;&#31163;css&#21333;&#29420;&#25171;&#21253;

webpack分离css单独打包 字数285 阅读0 评论0 喜欢0 瞎扯 webpack 把所有的资源都当成了一个模块, CSS,Image, JS 字体文件 都是资源, 都可以打包到一个 bundle.js 文件中.但是有时候需要把样式 单独的打包成一个文件, 然后放到 CND上, 然后缓存到浏览器客户端中 这个操作很简单的,只需要一个插件就好了,就是extract-text-webpack-plugin 1. 安装extract-text-webpack-plugin npm instal

webpack教程——css的加载

首先要安装css的loader npm install css-loader style-loader --save-dev 然后在webpack.config.js中配置如下代码 意思是先用css-loader加载css文件,再用style-loader添加在页面中 在app目录下创建component.css文件 body{ background-color: red; } 在app/index.js中引入css文件 运行npm run start命令. 可以看到我们浏览器整个背景都变成了红

webpack导入css及各项loader

1. webpack导入css 1) 下载相关的加载器 npm install style-loader css-loader -D 2)将index.css引入到mian.js中 import './css/index.css' 3) 配置webpack.config.js 使用module属性 const path = require('path') module.exports = { mode: 'development', entry:path.join(__dirname,'./sr

webpack打包css

1.第一种方式 1.安装css-loader和style-loader $ cnpm install css-loader style-loader --save-dev 2.引用的时候使用css-loader,让webpack可以打包css文件 require('css-loader!./style.css'); 3.打包 4.引入style-loader,将样式通过style标签写到head标签里 require('style-loader!css-loader!./style.css');

[AngularJS + Webpack] Requiring CSS &amp; Preprocessors

Making your CSS modular is a difficult thing to do, but using Webpack makes this so much easier. By adding a single line to your Webpack config, you can require you CSS, Stylus, Less, etc. files right from your directives and keep everything together

webpack 中 css 和 html 刷新问题的解决思路

webpack-dev-server有热更新功能,当webpack入口的js文件被修改,则会自动更新数据并刷新浏览器. css 问题 如果使用style-loader将样式添加到js文件中,在编写样式的时候可以享受热更新的效果,如果使用extract-text-webpack-plugin 将样式提取,此组件并不支持热更新.只会重新打包但是并不会刷新页面. 官方建议在开发环境中关闭ExtractText组件. html 问题 html-webpack-plugin 创建html 并不经过entr

webpack的css压缩不兼容IOS8问题探索

webpack使用postcss的autoprefixer插件,并在压缩css时使用了cssnano,处理不当的情况下会导致压缩css后,部分兼容前缀(比如-webkit-)被删除的问题. postcss的autoprefixer配置如下: autoprefixer({ browsers: ['> 1%', 'iOS >= 7',"ie >= 7", 'Android >= 2.4'] }) css压缩的配置如下: //压缩css代码 new OptimizeC

webpack的css处理

webpack打包处理css的时候需要两个loader: style-loader 和css-loader 安装: 1 npm install style-loader css-loader --save-dev style-loader:负责将打包生成的代码嵌入到html页面中. css-loader:是允许将css文件引入到.js文件中: 简单的打包css的webpack.config.js文件: 1 var path = require('path') 2 module.exports =