博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于网页开发webpack基本配置.
阅读量:6240 次
发布时间:2019-06-22

本文共 4781 字,大约阅读时间需要 15 分钟。

  hot3.png

/** * Created by Administrator on 2017/5/29. */var webpack = require("webpack");var htmlWebpackPlugin = require("html-webpack-plugin");var ExtractTextPlugin  = require("extract-text-webpack-plugin");//nodejs的里的一个全局变量,它指向的是我们项目的根目录,入口文件的位置module.exports = {    // devtool: "eval-source-map",  //配置入口文件    entry: {        index: __dirname + '/app/main.js',      //   index2:__dirname + '/app/main2.js',      // index3:__dirname + '/app/main3.js',    },    output: {        //需要打包后的文件 放置的位置        path: __dirname + '/public',        //打包后文件的名字      filename: 'js/[name].js',        // filename: 'js/[name]-[chunkhash].js',      // publicPath: "http://www.xianianwang.com" //用来上线时候输出的前缀    },    devServer: {        contentBase: "./public",//本地服务器所加载的页面所在的目录        // stats:{        //     colors: true,//终端中输出结果为彩色---没有颜色了        // },        // historyApiFallback: true,//不跳转        inline: true,//实时刷新        port: 8080,        // hot:true    },    module: {      loaders: [            {                test: /\.json$/,                use: 'json-loader'            },        //处理页面中以ejs为结尾的文件          {            test:/\.ejs$/,            use:'ejs-loader'          },        //处理页面中以html为结尾的文件,使用了这个插件,ejs中的变量将不再有效果        {          test:/\.html$/,          use:'html-loader'        },          //下面这个插件会将页面中的变量解析为正常的html文件,如何要在页面中使用htmlwebpackplugin变量则需要注释这个插件            // {            //   test: /\.css$/,            //   //从右向左翻译,css-loader必须在右边,不然没办法执行style-loader            //   use:[            //     'style-loader', 'css-loader',            //     {            //     loader: "postcss-loader",            //     options:{            //       plugins: (loader) => [            //         require('autoprefixer')            //         ],            //         minimize:true            //     }            //   }]            // },        //处理图片            {                test:/\.(png|jpg|git|woff)/,                use: [                  //将图片输出到images的目录之下如何大小在8192之下则打包成base64,如果在这这之前刚保存到./images 之下                  {                    loader: "url-loader?limit=8192?name=[name].[hash:6].[ext]&publicPath=./&outputPath=images/"                  },                  //压缩图片的大小                  {                    loader: "image-webpack-loader"                  }                ]            },        //将es6的代码转为es5的代码            {                test: /\.js$/,                exclude: /(node_modules|bower_components)/,                loader: 'babel-loader',                query: {                    presets: ['es2015']                }            },        //将css独立出来            { test: /\.css$/,              loader: ExtractTextPlugin.extract({fallback :'style-loader',                use:[                {                  loader : 'css-loader'                },                  //给css添加前缀                {                  loader: 'postcss-loader',                  options: {                    plugins: (loader) => [                      require('autoprefixer')({                        browsers:['last 5 versions']                      }),                    ],                    minimize:true                  }                }              ]}) }        ],    },    plugins: [        new ExtractTextPlugin({filename: 'css/[name].css'}),//样式压缩        //创建一个新的页面在public 以app/index.html中的文件为依据        //   生产环境下启用:压缩js代码      new webpack.optimize.UglifyJsPlugin({        compress: {          warnings: false        },        mangle: false,      }),        new webpack.ProvidePlugin({            $: "jquery",            jQuery: "jquery",            "window.jQuery": "jquery"        }),        new htmlWebpackPlugin({          filename: 'index.html',          template: "app/index.html",          title:"webpack title",          inject: 'body',          date:new Date(),            minify: {                removeComments: true,    //移除HTML中的注释                // collapseWhitespace: true,    //删除空白符与换行符                conservativeCollapse: true,                minifyJS: true //js也在一行            },            // hash: true,            // chunks: ['index'],            // xhtml: true,            // showErrors: true        }),      // new htmlWebpackPlugin({      //   filename: 'b.html',      //   template: "app/index.html",      //   title:"webpack b.html",      //   inject: 'head',      //   chunks:['index2']      // }),      // new htmlWebpackPlugin({      //   filename: 'c.html',      //   template: "app/index.html",      //   title:"webpack c.html",      //   inject: 'head',      //   chunks:['index3']      // }),        // new webpack.HotModuleReplacementPlugin()    ],};// var htmlWebpackPlugin=new htmlWebpackPlugin();

 

所有的源码在 :http://git.oschina.net/kaykie/webpackmoban

希望对你们有帮助,可以的话 给加个星啊

转载于:https://my.oschina.net/kaykie/blog/915843

你可能感兴趣的文章
从源码分析scrollTo、scrollBy、Scroller方法的区别和作用
查看>>
ObjectOutputStream和ObjectInputStream
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
计算机网络与Internet应用
查看>>
oracle在线迁移同步数据,数据库报错
查看>>
linux性能剖析工具
查看>>
flutter中的异步
查看>>
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
scikit-learn预处理实例之一:使用FunctionTransformer选择列
查看>>
邮件客户端导入邮件通讯录地址薄
查看>>
Linux系统安装
查看>>
Cassandra监控 - OpsCenter手册
查看>>
一些关于写Java代码的建议
查看>>
网络社交如何保护个人隐私?做好这4步
查看>>
SQL*Plus中的Echo
查看>>
SEO基础知识8大精华文章之第一篇(连载)
查看>>
面向sql编程
查看>>
对前面的自定义的toast制作拖拽效果,以及双击居中效果
查看>>
如何规划构建一套大型的Citrix桌面虚拟化架构 - 后记
查看>>