webpack.config.js

本文详细介绍了Webpack的基本配置方法,包括模块加载、热更新、文件压缩等关键功能,并通过具体示例展示了如何设置这些功能。
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');

//定义了一些文件夹的路径
var ROOT_PATH = path.resolve(__dirname,'src');
// var APP_PATH = path.resolve(ROOT_PATH, 'app');
// var BUILD_PATH = path.resolve(ROOT_PATH, 'build');

module.exports = {
  entry: ROOT_PATH,
  output:{
    path: path.resolve(__dirname, 'assets'),
    filename: 'bundle.js',
    publicPath: '/assets/'
  },
  resolve: {
    extensions: ['.js', '.jsx' ],
  },
  devServer: {
    historyApiFallback: true,
    host: 'localhost',
    port: '9001',
    // hot: true,
    // inline: true,
    proxy: {
      '/nmedia': {
        target: 'http://localhost:8080',
        changeOrigin: true,
      }
    }
  },
  devtool: 'source-map',
  plugins: [
    new webpack.DefinePlugin({//指定生产环境,以便在压缩时可以让uglifyjs自动删除代码块的警告语句
     'process.env.NODE_ENV':JSON.stringify('production')
    }),
    new webpack.HotModuleReplacementPlugin(),
    new ExtractTextPlugin('css/styles.css'),
    // new webpack.optimize.UglifyJsPlugin({
    //   comments: false, //去掉注释
    //   compress: {
    //     warnings: false //忽略警告,不然会有一大推的黄色字体出现
    //   }
    // })
  ],
  module: {
    rules: [
      {
        test: /\.js$/,
        use: [{
          loader: "babel-loader",
          options: { presets: ["es2015", "stage-0"] }
        }],
        include: [path.resolve(__dirname, 'src')]
      },
      {
        test: /\.html$/,
        use: 'raw-loader'
      },
      {
        test: /\.css$/,
        use: ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: "css-loader"
        })
      },
      { test: /\.less$/, use: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: [
            // activate source maps via loader query
            {
              loader: 'css-loader',
              options: { sourceMap: true, importLoaders: 1 }
            },
            {
              loader: 'less-loader',
              options: { sourceMap: true }
            }
          ]
        }
      )},
    ],
  }

}

 

转载于:https://www.cnblogs.com/iagw/p/6864243.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值