UNPKG

generator-zeus

Version:

组件脚手架

103 lines (101 loc) 3.36 kB
/** * Created by Administrator on 2016/5/9 0009. */ console.info("打包中。。。"); var webpack = require("webpack"); var path = require("path"); var ExtractTextPlugin = require("extract-text-webpack-plugin"); var CleanWebpackPlugin = require('clean-webpack-plugin'); var CopyWebpackPlugin = require('copy-webpack-plugin'); var minimize = process.argv.indexOf('--minimize') !== -1; module.exports = { entry: [ "./src/index" ], output: { path: path.resolve(__dirname, "dist"), filename: '<%= filename %>.js', sourceMapFilename: '[file].map', libraryTarget: "umd", library: "<%= library %>" }, module: { loaders: [ { test: /\.js/, loader: "babel-loader", query: { "presets": ["react", "es2015"], plugins: [] }, exclude: /(node_modules)/ }, { test: /\.css$/, loader: ExtractTextPlugin.extract( "style-loader", "css-loader?modules&importLoaders=1&localIdentName=[name]_[local]_[hash:base64:5]" ) }, { test: /\.scss$/, loader: ExtractTextPlugin.extract( "style-loader", "css-loader?modules&importLoaders=1&localIdentName=[name]_[local]_[hash:base64:5]!sass-loader" ) }, { test: /\.(png|gif|jpg|jpeg)$/, loader: "url?name=img/[name].[ext]" }, { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?name=font/[name].[ext]&limit=10000&minetype=application/font-woff' }, { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?name=font/[name].[ext]&limit=10&minetype=application/font-woff' }, { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?name=font/[name].[ext]&limit=10&minetype=application/octet-stream' }, { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file' }, { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10&minetype=image/svg+xml' } ] }, plugins: [ new ExtractTextPlugin("css/style.css"), new CopyWebpackPlugin([ {from: 'node_modules/babel-core/browser-polyfill.min.js', to: 'polyfill.js'} ]) ], externals: { "react": 'react', "jquery": 'jquery', 'react-dom': 'react-dom', "classnames": "classnames", "react-css-modules": "react-css-modules" } }; if(minimize){ module.exports.plugins.push( // 压缩js文件 new webpack.optimize.UglifyJsPlugin({ mangle: { except: ['$super', '$', 'exports', 'require'] }, compress: { warnings: false } }) ); module.exports.output.filename = "<%= filename %>.min.js"; module.exports.devtool = "source-map"; }