1.css文件编译

webpack默认只能编译js文件,引入css需要loader支持

// css文件写入js中
npm i style-loader -D
// css文件loader
npm i css-loader -D webpack.config.js的rules中添加 {
test: /\.css$/,
use:['style-loader', 'css-loader']
} 2.css自动添加前缀 // postcss-loader 可以给css自动添加-webkit -ms前缀
npm i postcss-loader -D //autoprefixer插件,针对浏览器兼容设置
npm i autoprefixer -D // 增加postcss-loader的option
新增文件postcss.config.js,内容:
module.exports = {
plugins: {
autoprefixer: {
browsers: ['last 7 iOS versions', 'last 3 versions', '> 1%']
}
}
} 3.css剥离 //安装剥离插件(如果你是全局webpack,使用时会要你安装到当前项目)
npm i mini-css-extract-plugin -D webpack.config.js中引入并使用 //引入
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
//添加到plugins数组中
plugins:[
new MiniCssExtractPlugin({
filename: "css/main.css",
})
]
//在rules中写入处理loader(之前的style-loader拿掉,因为不需要写入js文件了)
rules:[
{
test: /\.css$/,
use:[MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader']
}
]

package.json文件:

{
"name": "csschange",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack --config webpack.config.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"autoprefixer": "^9.6.1",
"css-loader": "^3.2.0",
"mini-css-extract-plugin": "^0.8.0",
"postcss-loader": "^3.0.0",
"style-loader": "^1.0.0",
"webpack": "^4.41.0",
"webpack-cli": "^3.3.9"
}
}

webpack.config.js文件:

const path = require('path')
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
entry:'./main.js',
output:{
filename:'bundle.js',
path:path.resolve(__dirname,'./dist')
},
module:{
rules:[
{
test: /\.css$/,
use:[MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader']
}
]
},
plugins:[
new MiniCssExtractPlugin({
filename: "css/main.css",
})
]
}

postcss.config.js文件:

module.exports = {
plugins: {
autoprefixer: {
browsers: ['last 7 iOS versions', 'last 3 versions', '> 1%']
}
}
}

webpack css文件编译、自动添加前缀、剥离的更多相关文章

  1. webpack.config.js====CSS相关:postcss-loader加载器,自动添加前缀

    1. 在webpack中加载css需要先安装style-loader 和 css-loader cnpm install --save-dev style-loader css-loader 2. 在 ...

  2. 用Emmet写CSS3属性会自动添加前缀

    CSS3的很多属性都包含浏览器厂商前缀,用Emmet写CSS3属性会自动添加前缀,比如输入trs 会展开为: -webkit-transition: prop time; -moz-transitio ...

  3. Visual studio 创建文件时自动添加备注

    Visual studio 创建文件时自动添加备注 描述 要求每回添加一个类,普通类或单元测试类文件头自动添加备注, 比如:Copyright, FileName, Author and so on. ...

  4. 如何将less编译成css文件__less自动编译成css的方法总结

    作为css的预处理less,拥有着比css更快捷方便,扩展了css的变量.Mixin.函数等特性,使 CSS 更易维护和扩展.  如何你已经回使用css,那么less就很容易上手了.如果不使用less ...

  5. Xcode常用技巧(2)-使Xcode在创建类时自动添加前缀

    在Xcode5之前的版本中,Xcode在新建项目时,会要求为一个类指定一个前缀,这样方便我们区分相同名字的类.而从Xcode6开始,由于Swift增加了命名空间的关系,Xcode在新建项目时,不会再要 ...

  6. Pycharm新建文件时自动添加基础信息

    位置:File->settings->Editor->File and Code Templates->Python Script 添加以下代码: #!/usr/bin/env ...

  7. iOS: 在Xcode7系列中给类名自动添加前缀

    添加前缀原因: 我个人还是很喜欢 Class Prefix 的,因为: 1. 使用它几乎不增加什么成本, 2. 不使用它可能会造成安全隐患, 3. 它能够以直接的方式编码一些信息以供未来的回溯, 4. ...

  8. 设置Pycharm在创建py文件时自动添加文件头注释(类似于钩子特性)

    在每次新建一个py文件的时候 1 如何自动添加 #!/usr/bin/env python2 自动添加       #-*- coding: utf-8 -*- 操作方法: File -> se ...

  9. webpack配置根据浏览器自动添加css前缀的loader

    1.安装 postcss-loader autoprefixer npm install postcss-loader autoprefixer --save-dev 2.配置webpack.conf ...

随机推荐

  1. Unity设计模式+Java设计模式,讲解+案例+PPT,一次性学会设计模式,拥抱高薪!

    一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式, ...

  2. tansition-group 使用方法

    <transition-group name="breadcrumb"> <el-breadcrumb-item v-for="(item,index) ...

  3. Python脚本基础运算和算法

    原文地址:https://www.cnblogs.com/ailiailan/p/10141741.html 通过关注“常见”脚本,是对代码的一个很好的学习和总结的方式. 1.冒泡排序 lis = [ ...

  4. android studio: 对齐成员变量及链式方法

    "File"-"Settings"-"Editor"-"Java"-"Wrapping and Braces& ...

  5. Spring Boot TImer Schedule Quartz

    Spring Boot 2.X(十二):定时任务-云栖社区-阿里云https://yq.aliyun.com/articles/723876?spm=a2c4e.11155472.0.0.2f8b3a ...

  6. docker批量操作容器

    author:headsen chen date: 2019-08-07  15:26:46 列出所有的容器 ID docker ps -aq 停止所有的容器 docker stop $(docker ...

  7. Docs-.NET-C#-指南-语言参考-预处理器指令:#endregion(C# 参考)

    ylbtech-Docs-.NET-C#-指南-语言参考-预处理器指令:#endregion(C# 参考) 1.返回顶部 1. #endregion(C# 参考) 2015/07/20 #endreg ...

  8. mobile crane 1

    void MobileCrane::rotateRope2() { //double r_angle1 = rotateRope + rorate3; //std::cout << &qu ...

  9. Flutter实战(四)---LoadingDialog

    原文链接:https://blog.csdn.net/johnWcheung/article/details/89634582

  10. Qt编写气体安全管理系统18-数据库设置

    一.前言 作为一个管理系统,数据库肯定是不可或缺的,Qt内置的sqlite数据库已经是够用的,而且本人亲测数据量能支持亿级别,而不是像网上很多人说的千万级别,我模拟过一亿多条数据,依然能够很好的查询, ...