webpack.config.js
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 } } ] } )}, ], } }