zoukankan      html  css  js  c++  java
  • webpack2使用ch8-loader解析less less自动添加浏览器前缀

    1 目录结构  安装依赖

    "less": "^2.7.2",
    "less-loader": "^4.0.3",

    2 webpack.config.js配置

    const webpack = require('webpack'),
          htmlWebpackPlugin = require('html-webpack-plugin'),
          path = require('path');
    
    module.exports = {
        entry: './src/app.js',
        output: {
            path: path.resolve(__dirname, './dist'),
            filename: 'js/[name]-[chunkhash].js',
        },
        module: { //loader第三种使用方式 配置项设置 其他1引入 2cli
          loaders: [
              {   //解析.js
                  test: '/.js$/',  //正则匹配.js文件
                  loader: 'babel',  //使用babel 要先安装 cnpm install --save-dev babel-loader babel-core
                  exclude: path.resolve(__dirname, 'node_modules'), //优化babel 排除
                  include: path.resolve(__dirname, 'src'),//优化babel 打包范围
                  query: {
                      presets: ['env'] //使用方式之1 cnpm install --save-dev babel-preset-env 告诉babel如何处理
                  }
              },
              {   //解析 .css
                  test: /.css$/,
                  loader: 'style-loader!css-loader!postcss-loader' //style-loader!css-loader 解析使用
                                                                   // css postcss-loader后端浏览器优化(加前缀)
                                                                   //要先加载 postcss-loader写在后面
                                                                   //?importLoaders=1 css import 'xxx.css'
              },
              { //解析 .less
                  test: /.less$/,
                  loader: 'style-loader!css-loader!postcss-loader!less-loader' //从右往左 先把less解析成css,再加前缀
              }
          ]
        },
        plugins: [
            new htmlWebpackPlugin({
                filename: 'index.html',
                template: 'index.html',
                inject: 'body'
            }),
            new webpack.LoaderOptionsPlugin({ //浏览器加前缀
                options: {
                    postcss: [require('autoprefixer')({browsers:['last 5 versions']})]
                }
            }),
        ]
    };

    3 app.js

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

    4 layer.js

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

    5 layer.less

    6 打包

    7 效果验证

  • 相关阅读:
    FreeMarker缓存处理
    freemarker入门实例与源码研究准备工作
    Freemarker常用技巧(二)
    Freemarker常用技巧(一)
    Hessian与Spring整合
    Hessian学习
    数组常见的面试题
    关于排序的实现
    Redis与Memcache的区别
    JDBC编程步骤
  • 原文地址:https://www.cnblogs.com/easyweb/p/6674263.html
Copyright © 2011-2022 走看看