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

  • 相关阅读:
    LeetCode 152. 乘积最大子数组
    LeetCode 148. 排序链表
    LeetCode 143. 重排链表
    LeetCode 142. 环形链表 II
    LeetCode 137. 只出现一次的数字 II
    LeetCode 127. 单词接龙
    LeetCode 120. 三角形最小路径和
    spring boot redis 数据库缓存用法
    堪称神器的Chrome插件
    rocketMQ安装中遇到的坑
  • 原文地址:https://www.cnblogs.com/easyweb/p/6674263.html
Copyright © 2011-2022 走看看