webpack的配置

 

//处理html文件
const HtmlWebpackPlugin = require("html-webpack-plugin") //抽离css和sass代码的 const ExtractTextWebpackPlugin = require('extract-text-webpack-plugin') const webpack = require('webpack') //处理路径 const path = require('path') //开发配置 const developmentConfig = { entry:{//入口 main:'./src/main.js', // vendor:'./src/vendor.js' }, // entry:'./src/app.js', // entry:['./src/app.js','./src/vendor.js'], output:{//输出 path:path.join(__dirname,'build'), filename:'[name].js' }, devServer:{//开发服务器 port:9000, contentBase:'./build', historyApiFallback: true, open: true, proxy:{ } }, module:{ rules:[ {//编译jade test:/\.jade$/, use:['jade-loader','html-withimg-loader'] }, {//处理css、js中引入的图片 test:/\.(png|jpe?g|svg|gif)$/, // use:'url-loader?limit=1000&name=images/[hash:8].[name].[ext]' use:[ { loader:'url-loader', options:{ limit:1000, name:'/static/images/assets/[hash:8].[name].[ext]' } } ] }, {//处理html引入的图片,在react中没啥用 test:/\.html$/, use:'html-withimg-loader' }, // {//将css代码放入header的style标签中 // test:/\.css$/, // use:['style-loader','css-loader'] // }, // {//将scss代码编译成css,再将css代码放入header的style标签中 // test:/\.scss$/, // use:['style-loader','css-loader','sass-loader'] // }, {//抽离引入css代码放入到一个css文件中 test:/\.css$/, use:ExtractTextWebpackPlugin.extract({ fallback: "style-loader", use: "css-loader" }) }, {//抽离引入scss代码编译后放入到一个css文件中 test:/\.scss/, use:ExtractTextWebpackPlugin.extract({ fallback: "style-loader", use: ["css-loader","sass-loader"] }) }, // {//只编译jsx // test:/\.(js|jsx)$/, // exclude:/node_modules/, // use:'jsx-loader' // }, {//处理js代码,编译es6、jsx test:/\.(js|jsx)$/, exclude: /node_modules/,//除了哪个目录下的代码 loader:'babel-loader', query: { presets: ['es2015','react'] } } ] }, plugins:[ new HtmlWebpackPlugin({ // title:'webpack-config-demo', template:'./src/index.html', filename:'index.html' }), // new webpack.optimize.UglifyJsPlugin({ // compress: { // warnings: false, // drop_console: false // } // }), new ExtractTextWebpackPlugin({ filename:'app.css', allChunks:true }) ] } //生成配置 const productionConfig = { entry:{ app:'./src/app.js', vendor:'./src/vendor.js' }, output:{ path:path.join(__dirname,'build'), filename:'[name]_[hash].js' }, plugins:[ new HtmlWebpackPlugin() ] } module.exports = (env)=>{ if(env=='production'){ return productionConfig } return developmentConfig }


转载于:https://www.cnblogs.com/Ari1c/p/8289054.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值