webpack.config.js全部有关配置

来源:互联网 发布:python arma 编辑:程序博客网 时间:2024/06/05 17:00
'use strict';
const path = require('path');
const htmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
    //指定入口
    entry: {
        main: './main.js'
    },
    output: {
        path: path.join(__dirname, 'dist'),
        filename: 'build.js'
    },
    module: {
        loaders: [{
                test: /\.css$/,
                loader: 'style-loader!css-loader!autoprefixer-loader'
            }, {
                test: /\.less$/,
                loader: 'style-loader!css-loader!autoprefixer-loader!less-loader'
            }, {
                test: /\.(jpg|ttf|svg|png)$/,
                loader: 'url-loader?limit=4096'
            }, {
                test: /\.js$/,
                loader: 'babel-loader',
                //排除路径
                exclude: /node_modules/,
                options: {
                    presets: ['es2015'],
                    plugins: ['transform-runtime']
                }
            },
            //处理.vue文件
            {
                test: /\.vue$/,
                loader: 'vue-loader'
            }
        ]
    },
    plugins: [
        new htmlWebpackPlugin({
            template: './index.html',
        })
    ],
    //让单文件的方式也能有template做组件的编译,包会增大30%
    //如果是.runtime的文件就小30%
    //在main.js中  import Vue from 'vue';
    resolve: { //文件路径加载解决方案
        alias: { //别名
            //'vue$' 会忽略 import xxx from 'vue/dist/vue.runtime.js'
            'vue$': 'vue/dist/vue.esm.js'
                //当import xx from '1213432vue' -> vue/dist/vue.common.js
        }
    },
    devServer: { //配置webpack-dev-server -> express服务器的选项
        host: '127.0.0.1', //A
        port: 9999,
        //代理
        proxy: { //this.$ajax.get('/v2/xxxx')
            '/v2/*': { // 如果当前请求的url 是以/v2开头/xxxxxx,则默认请求127.0.1/v2/xxx
                changeOrigin: true, //changeOrigin就把当前本地express服务器由A变为向B请求并返回
                target: 'https://api.douban.com/', //B
            }
        }


    }


}
原创粉丝点击