webpack(四)处理 css\less\sass 样式
(一)
处理普通的.css 文件,需要安装 css-loader,style-loader
.less 文件,需要安装 less-loader
.sass 文件,需安装 less-loader
npm install --save-dev css-loader
npm install --save-dev css-loader
npm install less-loader --save-dev
(二)
在项目中,我们会遇到 不同浏览器,前缀不同。比如 display: flex ,在IE以及谷歌下前缀是不同的,
这时候,我们需要 postcss 这样的插件
npm install postcss-loader --save-dev
npm install autoprefixer --save-dev
安装好相关loader后,我们需要在webpack.config.js 中 加入相关配置代码,如下
var htmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path');
console.log(__dirname);
module.exports = {
/*context: __dirname,*/
entry: './src/app.js',
output: {
path: './dist',
filename: 'js/[name]-bound.js'//生成后的文件名 为 a-2ea5b2e9b258a8bbba73.js,main-2ea5b2e9b258a8bbba73.js
},
module: {
loaders: [
{
test: /\.css$/, //正则表达式,匹配.css文件
loader: 'style!css?importLoaders=1!postcss' //处理顺序 从右到左
// ?importLoaders=1 表示 引入嵌入的 css文件也会按照postcss这样自动添加前缀
},
{
test: /\.less$/,
loader: 'style!css!postcss!less'
}
],
rules: [{
test: /\.(css|scss|less)$/,
loader:"style-loader!css-loader?importLoaders=1!postcss-loader" //由于webpack2.X 版本对post-css书写方式的改变
//需要新添加 postcss.config.js
}]
},
plugins: [
new htmlWebpackPlugin({
filename: 'index.html', //通过模板生成的文件名
template: 'index.html',//模板路径
inject: 'body' //是否自动在模板文件添加 自动生成的js文件链接
})
]
};
postcss.config.js 代码如下
module.exports = {
plugins: [
require('autoprefixer')({
browsers: 'last 5 version' //前五种浏览器版本
})
]
};
import layer from './components/layer/layer.js';
import './css/common.css'; const App = function () {
console.log(layer);
} new App();
app.js
layer.js
import './layer.less';
function layer(){
return{
name:'layer',
tpl:'tpl'
};
}
export default layer;
//layer.less
.layer{
width:600px;
height: 200px;
border: 1px solid yellow;
} //common.css
@import "flex.css";
html{
background-color: red;
} ul,li{
padding:;
margin:;
list-style:none;
}
.styleFlex {
display: flex;
} //flex.css
.flexFlex {
display: flex;
}
相关css
使用webpack 编译后,可以查看,相关css以及被编译在index.html,前缀css 自动完成。
webpack(四)处理 css\less\sass 样式的更多相关文章
- Webpack干货系列 | 怎么运用 Webpack 5 处理css/scss/sass、less、stylus样式资源
程序员优雅哥简介:十年程序员,呆过央企外企私企,做过前端后端架构.分享vue.Java等前后端技术和架构. 本文摘要:主要讲解webpack 5 如何高效处理CSS 资源.scss/sass 资源.l ...
- Angularjs快速入门(四)-css类和样式
例子: .error{background-color:red;} .warning{background-color:yellow;} <div ng-controller='HeaderCo ...
- webpack快速入门——CSS进阶:SASS文件的打包和分离
1.安裝:因为sass-loader依赖于node-sass,所以需要先安装node-sass cnpm install node-sass --save-dev cnpm install sass- ...
- 四种CSS样式的引入方式
准备 1.首先准备一个html文件:test.html,不建议使用记事本创建文件,建议使用Notepad++来创建并编辑文件,注意编码格式为:以UTF-8无BOM格式编码,否则会出现中文乱码,内容如下 ...
- webpack.config.js====CSS相关:css和scss配置loader
1. 安装: //loader加载器加载css和sass模块 cnpm install style-loader css-loader node-sass sass-loader --save-dev ...
- 在vue-cli 3中, 给stylus、sass样式传入共享的全局变量
在开发中有时,我们定义了大量的基础样式变量,例如: 大量的vue单文件组件会用到这些变量,每个组件都引人一次又太麻烦.全局引入是个不错的方法,于是,在main.js 中引入variable.styl文 ...
- 让 JavaScript 与 CSS 和 Sass 对话
JavaScript 和 CSS 已经并存超过了 20 年.但是在它们之间共享数据非常困难.当然也有大量的尝试.但是我所想到的是一些简单而直观的内容——不涉及结构更改,而是使用 CSS 自定义属性甚至 ...
- [原创]Lodop打印, 以及Lodop引用css文件控制打印样式的问题.
最近在做Lodop打印功能: 思路是: 用MasterPage搭个打印页面的框架, 然后在具体的页面中填入数据, 打印的样式由母版页和CSS来控制. 困扰了一天的问题是: 在打印的JS文件中, 引 ...
- #8.10.16总结# 属性选择符 伪对象选择符 CSS的常用样式
属性选择符 E[att] E[att="val"] E[att~="val"] E[att^="val"] E[att$="val ...
随机推荐
- 4.ICMP协议,ping和Traceroute
1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)协议. 当传送 ...
- css中盒子宽高的auto
CSS盒模型中,auto属性只适用于外margin和width,height,border和padding不适用.下面就来说说它的情况.这里所说的都是标准流盒子. 1.横向来说 (1)若设置width ...
- java短路问题
java短路问题 短路运算符就是我们常用的"&&"."||",一般称为"条件操作". class Logic{ public ...
- 10种处理PHP字符串的措施
PHP有一个海量字符串操作库,提供了大约100个分割.连接.解析和搜索文本的功能.在这一点上,PHP的性能是如此地强大以至于在处理字符串相关问题时,判断哪一个是最好的方法会比较困难.本文中我讲了10个 ...
- iOS 之 CALayer与UIView的区别
最大区别:CALayer (图层)不会直接渲染到屏幕上. UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它.它本身完全是由CoreAnimation来实现的. 真正的绘图部分,是由一 ...
- JIRA描述默认值设置
JIRA描述默认值设置 Setting a Default Value in the Description Field 转自https://confluence.atlassian.com/jira ...
- 第一个Servlet程序及分析
第一个Servlet程序: package cc.openhome; import java.io.IOException; import java.io.PrintWriter; import ja ...
- SQL2008实现数据库自动定时备份——维护计划
在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员 每天守到晚上1点去备份数据库.要实现数据库的 ...
- Bootstrap入门(十六)组件10:well和具有响应式特性的嵌入内容
Bootstrap入门(十六)组件10:well和具有响应式特性的嵌入内容 well组件可以为内容增添一种切入效果. 具有响应式特性的嵌入内容可以根据被嵌入内容的外部容器的宽度,自动创建一个固定的比例 ...
- python 基础学习小记
Python应该是写起来最舒服的动态语言了,一下是一些读书笔记,本文中安装的是3.0,有几点需要注意: print "xxx" 要换成 print("xxx") ...