const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const eslintPath = path.join(__dirname, '.eslintrc.js');

const config = {
    entry: {
        index: path.resolve(__dirname, './app.jsx'),
        vendors: [
         'react',
            'react-dom',
         'react-color',
           'axios',
           'echarts',
           'babel-polyfill'
        ]
    },
    output: {
      path: path.resolve(__dirname, 'build'),
      chunkFilename: '[name].bundle.js',
      filename: '[name].bundle.js'
      // filename: '[name].bundle[chunkHash:5].js'
    },
    module: {
      rules: [
        // {
          // enforce: "pre",
          // test: /\.js$/,
          // exclude: /node_modules/,
          // loader: "eslint-loader",
          // options: {
          // configFile:path.join(__dirname, '.eslintrc.js'),
          // formatter: require("eslint-friendly-formatter"),
          // // eslintPath: path.join(__dirname, '.eslintrc.js'),
          // emitError: true
          // }
        // },
        {
          test: /\.jsx?$/,
          exclude: /node_modules/,
          loader: "babel-loader",
        },
        // {
          // test: /\.jsx?$/,
          // loader: ['babel-loader','eslint-loader'],
          // exclude: /node_modules/,
        // },
        {
         test: /(\.(png|jpg|ttf|woff|svg|eot)$)/,
         use: [{
          loader: 'file-loader',
          options: {
            name: '[path][name].[ext]',
            outputPath: 'resource/'
          }
           }]
        },
        {
          test: /\.css$/,
          use: ExtractTextPlugin.extract({
            fallback: "style-loader",
            use: "css-loader"
          })
        },

        ]
       },
    resolve: {
      extensions: ['.js', '.jsx'],
      alias:{
        'corejs': path.resolve('./corejs'),
       }
    },
    plugins: [
      new webpack.DefinePlugin({
        'process.env': {
        'NODE_ENV': JSON.stringify('development')
      }
    }),
    new ExtractTextPlugin("styles.css"),
    //生成模板
    new HtmlWebpackPlugin({
      template: './template.html',
      filename: 'index.html',
      inject: true,
      hash: false
    }),
    //添加代码标注
    new webpack.BannerPlugin('This file is created by xdataInsight group'),
    //提取合并共用js库
    // new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', filename: 'vendors.[hash:8].min.js' }),
    ],
    devtool: 'eval-source-map',
    devServer: {
      contentBase: './',
      historyApiFallback: true,
      // hot: true,
      inline: true,
      disableHostCheck: true,
      proxy: {  //代理
        '/xdatainsight/*': {
          target: 'http://balabala:41116',
          secure: false,
          auth: 'admin:admin'
        }
      }
    }
};
module.exports = config;

webpack配置(使用react,es6的项目)的更多相关文章

  1. webpack 配置 (支持 React SCSS ES6 编译打包 和 模块热更新 / 生成SourceMap)

    1.首先是目录结构 |-node_modules/ #包文件 |-build/ #静态资源生成目录 |-src/ #开发目录 |-js/ |-index.js #入口文件 |-app.js #Reac ...

  2. react基于webpack和babel以及es6的项目搭建

    项目demo地址https://github.com/aushion/webpack_reac_config 1.打开命令提示窗口,输入 mkdir react_test cd react_test ...

  3. 基于 Webpack 4 和 React hooks 搭建项目

    面对日新月异的前端,我表示快学不动了

  4. [webpack] 配置react+es6开发环境

    写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...

  5. webpack踩坑之路——构建基本的React+ES6项目

    转自:http://www.cnblogs.com/ghost-xyx/p/5483464.html webpack是最近比较火的构建工具,搭配上同样比较火的ReacJS与ES6(ES2015)一定是 ...

  6. React+ES6+Webpack环境配置

    转自http://www.cnblogs.com/chenziyu-blog/p/5675086.html 参考http://www.tuicool.com/articles/BrAVv2y Reac ...

  7. Webpack+React+ES6 最新环境搭建和配置(2017年)

    刚刚学习React,发现React在ES6下的语法才是本体,结合ES6新的语言特性,使组件化开发显得更加直观.而且现在的Angular2也开始使用支持强类型的TypeScript,转译(transpi ...

  8. Webpack+React+ES6开发模式入门指南

    React无疑是今年最火的前端框架,github上的star直逼30,000,基于React的React Native的star也直逼20,000.有了React,组件化似乎不再步履蹒跚,有了Reac ...

  9. webpack+react+es6开发模式

    一.前言 实习了两个月,把在公司用到的前端开发模式做个简单的整理.公司里前端开发模式webpack+react+redux+es6,这里去掉了redux. webpack, react, redux等 ...

随机推荐

  1. windows系统下MySQL中遇到1045问题

    报错内容为"1045    Access denied for user 'root'@'localhost' (using password:YES)",对应的原因是密码错误,如 ...

  2. Bootstrap 过渡效果

    <!DOCTYPE html> <html <!DOCTYPE html> <html lang="en"> <head> & ...

  3. linux 应用层常用API/命令

    一 API 1. bsearch NAME bsearch - binary search of a sorted array SYNOPSIS #include <stdlib.h> v ...

  4. ceph 指定OSD创建pool

    https://my.oschina.net/wangzilong/blog/1549690 ceph集群中允许使用混合类型的磁盘,比如一部分磁盘是SSD,一部分是STAT.如果针对某些业务小高速磁盘 ...

  5. 手机app安装包apk/ipa放到网上无法下载原因及教程

    做好APP后,APP名为app.apk或app.ipa 上传到根目录后,生成二维码 但还是无法下载,哪按以下教程让服务器apache/iis/nginx支持.apk/ipa文件下载 windows i ...

  6. python sum()函数的用法

    sum() 方法对系列进行求和计算.针对元组,列表.对字符串会报错 >>>sum([0,1,2]) 3 >>> sum((2, 3, 4), 1) # 元组计算总和 ...

  7. python re模块常用的正则表达式

    '.'     默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^'     匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r&qu ...

  8. form表单submit事件

    form表单submit事件同时会触发form表单中button按钮的click事件 <!DOCTYPE html> <html> <head> <meta ...

  9. HTML-参考手册: HTML ASCII

    ylbtech-HTML-参考手册: HTML ASCII 1.返回顶部 1. HTML ASCII 参考手册 ASCII 字符集被用于因特网上不同计算机间传输信息. ASCII 字符集 ASCII ...

  10. 57、saleforce学习笔记(四)

    List类 List在这里就是一个类 List<String> lists = new String[]{'1','3'}; List<String> list1 = new ...