• 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 效果验证

  • 相关阅读:
    Python3 字典Dict(十三)
    Python3 元组Tuple(十二)
    Python3 列表List(十一)
    Python3 循环语句(十)
    Python3 条件控制(九)
    Python3 运算符(八)
    Swift3.0语法2
    Swift反射机制实现 AppDelegate 字符串获取类并成为根控制器
    Swift语法(更新)
    单例
  • 原文地址:https://www.cnblogs.com/easyweb/p/6674263.html
Copyright © 2020-2023  润新知