webpack.config.js配置

// node path package
const path = require("path")
const VueLoaderPlugin = require('vue-loader/lib/plugin')
const ExtractTextPlugin = require("extract-text-webpack-plugin")
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
    entry: "./webpack-demo/src/index.js",
    output: {
        path: path.resolve(__dirname, "./webpack-demo/dist"),
        filename: "js/index.js",
        // 对编译后的url 增加前缀
        // publicPath: "dist/",
    },
    resolve: {
        // 给vue起别名
        alias: {
            // 运行时依赖版本
            "vue$": "vue/dist/vue.esm.js"
        }
    },
    module: {
        rules: [
            {
                // npm --save-dev install style-loader css-loader
                test: /\.css$/,
                // 顺序不能改变
                // use: ["style-loader", "css-loader"]
                use: ExtractTextPlugin.extract({
                    use: 'css-loader',
                    fallback: 'vue-style-loader'
                })
            },
            {
                // npm --save-dev install url-loader file-loader
                test: /\.(png|gif|jpg)$/,
                use: [
                    {
                        loader: "url-loader",
                        options: {
                            // 对文件大小限制,大于限制则使用file-loader
                            limit: 8192,
                            // 对file-loader 设置
                            name: 'img/[name].[hash:8].[ext]',

                        }
                    }
                ]
            },
            {
                // ES6 转ES5 npm --save-dev install babel-loader@7 babel-core babel-preset-es2015
                test: /\.js$/,
                // 排除,不打包该文件夹下的js
                exclude: /(node_modules|bower_components)/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['es2015']
                    }
                }
            },
            {
                // vue loader
                test: /\.vue$/,
                use: ["vue-loader"]
            },
            {
                test: /\.(eot|svg|ttf|woff|woff2)(\?\S*)?$/,
                loader: 'file-loader',
                options: {
                    outputPath: "fonts"
                }
            }
        ]

    },
    plugins: [
        new VueLoaderPlugin(),
        new ExtractTextPlugin("css/styles.css"),
        new HtmlWebpackPlugin(
            { template: "./webpack-demo/index.html" }
        )
    ]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值