基于webpack 2.3的标准语法,包含了less变量替换、React组件热加载、第三库单独输出、区分生产与开发环境等常用配置。
'use strict' module.exports = function( env ) { // 生成环境下webpack使用-p参数开启代码压缩 // webpack[-dev-server]使用--env dev参数指定编译环境 var isDev = env == 'dev'; var path = require( 'path' ); var webpack = require( 'webpack' ); var CleanWebpackPlugin = require( 'clean-webpack-plugin' ); var CopyWebpackPlugin = require( 'copy-webpack-plugin' ); var HtmlWebpackPlugin = require( 'html-webpack-plugin' ); var WebkitPrefixer = require( 'autoprefixer' ); var WebpackMd5Hash = require( 'webpack-md5-hash' ); var BundleAnalyzerPlugin = require( 'webpack-bundle-analyzer' ).BundleAnalyzerPlugin; var sourcedir = path.resolve( __dirname, 'src' );// 源码和资源文件的放置位置 var outputdir = path.resolve( __dirname, 'build' );// 编译结果的放置位置 var webContextRoot = '/myreact/';// 应用的实际访问路径,默认是'/' // antd的图标字体文件的实际访问路径,利用less-load的变量替换功能 var antd_fonticon = webContextRoot + 'assets/antd_fonticon/iconfont'; var hasValue = function( item ) { return item != null; }; return { //context: path.resolve( __dirname ), devtool: 'source-map', devServer: { host: '0.0.0.0', port: 8082, historyApiFallback: true }, resolve: { // 让less-loader等插件能找到以~相对定位的资源 modules: [sourcedir, 'node_modules'] }, entry: { main: [ // 编译新版本js的新api(如Promise),主要是让IE11能够执行编译后的代码 'babel-polyfill', //使用react-hot-loader@3.0.0-beta.6, // 搭配webpack-dev-server --hot命令实现react组件的hot reload isDev "icon-url": JSON.stringify( antd_fonticon ) } } }] }, { test: /\.(jpg|png|gif)$/, use: { loader: 'url-loader', options: { // 编码为dataUrl的最大尺寸 limit: 10000, // 输出路径,相对于publicPath outputPath: 'assets/', name: isDev "production" // 应用代码里,可凭此判断是否运行在生产环境 NODE_ENV: isDev ? JSON.stringify( 'development' ) : JSON.stringify( 'production' ) } } }), // print more readable module names on HMR updates isDev ? new webpack.NamedModulesPlugin() : null, // 先清理输出目录 isDev ? null : new CleanWebpackPlugin( [outputdir] ), // 排除特定库 isDev ? null : new webpack.IgnorePlugin( /.*/, /react-hot-loader$/ ), // 输出报告,查看第三方库的大小 isDev ? null : new BundleAnalyzerPlugin( { analyzerMode: 'static', reportFilename: 'report.html', openAnalyzer: true, generateStatsFile: false }) ].filter( hasValue ) } };
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 柏菲·胭花四乐《胭花四乐》限量开盘母带ORMCD[低速原抓WAV+CUE]
- 群星《监听耳机天碟》2018[WAV分轨][1G]
- 群星《娱协奖原创金曲合辑》滚石[WAV+CUE][1.1G]
- 罗大佑《美丽岛》2CD[WAV+CUE][1.1G]
- 言承旭.2009-多出来的自由【SONY】【WAV+CUE】
- 赤道.2000-精选2CD【ACM】【WAV+UCE】
- 许廷铿.2017-神奇之旅【华纳】【WAV+CUE】
- 李克勤《罪人》环球[WAV+CUE][1G]
- 陈粒2024《乌有乡地图》有此山文化[FLAC分轨][1G]
- 蔡依林《MYSELF》 奢华庆菌版 2CD[WAV+CUE][1.5G]
- 刘春美《心与心寻世界名曲中文版》新京文[低速原抓WAV+CUE]
- 朱逢博《蔷薇蔷薇处处开》[FLAC+CUE]
- 姚璎格2005《心在哭泣》龙韵[WAV分轨]
- 费玉清《费玉清收藏》 2CD 华纳[WAV+CUE][1G]
- 徐怀钰《LOVE》台湾首版[WAV+CUE][1G]