webpack 配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack 配置相关的知识,希望对你有一定的参考价值。

var webpack = require(‘webpack‘);
var path = require(‘path‘);
var autoprefixer = require("autoprefixer");
var ExtractTextPlugin = require(‘extract-text-webpack-plugin‘);//css样式从js文件中分离出来,需要通过命令行安装 extract-text-webpack-plugin依赖包
// var htmlWebpackPlugin = require(‘html-webpack-plugin‘);

module.exports = {
    devtool: ‘source-map‘,

    entry: {
        ‘index‘: path.join(__dirname , "src/index.js"),
        ‘page1‘: path.join(__dirname , "src/page1.js"),
        ‘vendor‘: ["jquery"]
    }, //已多次提及的唯一入口文件,可以打包多个文件

    output: {
        path: path.join(__dirname , "dist"), //打包后的文件存放的地方
        filename: "[name].js" //打包后输出文件的文件名
    },

    // externals: {
    //     jquery: ‘jQuery‘
    // },

    module: {
        rules: [
            {
                test: /\.css$/,
                use: ExtractTextPlugin.extract({
                    fallback: "style-loader",
                    use: "css-loader!postcss-loader",
                    publicPath: "../" //css图片路径出错
                })
            },
            {
                test: /\.(png|jpg)$/,
                loader: ‘url-loader?limit=8192&name=./images/[hash:8].[name].[ext]‘
            },
            {
                test: /\.js$/,
                exclude: /(node_modules)/,
                loader: "babel-loader"
            },
            {
                test: /\.json$/,
                loader: "json-loader"
            }
        ]
    },
    plugins: [
        new ExtractTextPlugin({
            filename: "./css/[name].css",
            allChunks: true
        }),

        require(‘autoprefixer‘),

        new webpack.optimize.CommonsChunkPlugin({
            name: [‘vendor‘] // 指定公共 bundle 的名字。
        }),

        // new HtmlWebpackPlugin({
        //     filename: "./public/index.html",
        //     template: "./html/moban.html",
        //     inject: true,
        //     hash: true,
        //     // minify:
        // }),
        
        // new webpack.optimize.UglifyJsPlugin({
     //      compress: {
     //        warnings: false
     //      }
     //    }),
    ]
}

 

以上是关于webpack 配置的主要内容,如果未能解决你的问题,请参考以下文章

Vue报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object 的解决方法(代码片段

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

webpack项目优化,压缩代码,去除冗余样式

webpack配置之代码优化