webpack 编译less/scss文件

一、安装插件css

处理less:html

npm install less-loader --save-dev

处理sass:node

npm install sass-loader --save-dev

二、项目目录:webpack

 

layer.less为:web

.layer{ width: 600px; height: 200px; background-color: green; > div{ width: 400px; height: 200px; background-color: red;
    } .flex{ display: flex;
    } }

layer.js为:npm

import './layer.less'; //import tpl from './layer.html';
function layer(){ return { name:'layer', tpl:tpl } } export default layer;

三、webpack.config.js配置文件(以编译less为例)sass

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"] }) ] } } } ] }, //less 处理这一块
 { test: /\.less$/, 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' ] } ] }, plugins: [ new htmlWebpackPlugin({ template: 'index.html', filename: 'index.html' }) ] }

注意:postcss-loader在css-loader后,在less-loader前。babel

四、执行编译&查看效果app

npm run webpack

相关文章
相关标签/搜索