{
devtool: 'source-map',
//要启用source-map需加上此配置项,同时css或less的loader要加上参数?sourceMap,js的loader不用加

entry: entries,
output: {
    path: './assets/',
    filename: '[name].js',
},
resolve: {
    extensions: ['', '.js', '.jsx', '.less', '.css'],
//用于指明程序自动补全识别哪些后缀,注意一下,extensions 第一个是空字符串,对应不需要后缀的情况。

alias: {
        'jquery': './js/vendor/jquery',
    }
//使用别名,对模块请求重定向,据说可以缩短打包时间
},

externals: {
        './src/html/js/swiper': 'Swiper'
// externals对象的key是给require时用的,比如require('react'),对象的value表示的是如何在global(即window)中访问到该对象,这里是window.React。
},

module: {
    loaders: [
        {test: /\.(js|jsx)$/, exclude: /node_modules/, loader: 'babel', query: {presets: ['es2015', 'react']}},
//exclude是排除的目录或文件,使用正则
//使用babel做jsx打包,需加上babel-preset-react和babel-preset-es2015这2个npm包,并加上loader参数presets: ['es2015', 'react']

{test: /\.less$/, loader: ExtractTextPlugin.extract(['css?sourceMap!postcss!less?sourceMap'])},
//要使用autoprefixer,需使用postcss,autoprefixer是postcss的一个插件
//要启用sourceMap必须加上参数sourceMap

{test: /\.(eot|ttf)$/, loader: 'copy-file?copyto=[path][name].[ext]&context=' + srcPath},
        {test: /\.(jpe?g|png|gif|svg|swf)$/, loader: 'copy-file?limit=10000&copyto=[path][name].[ext]&context=' + srcPath},
//可以使用copy-file-loader让less中所引用的文件路径在打包成css之后保持不变

]
},
postcss: function(){
    return {
        defaults: [autoprefixer],
        cleaner: [autoprefixer({browsers: ['IE >= 9']})]
    };
},
//postcss的相关设置,这里只设了autoprefixer

plugins: [
    new webpack.optimize.UglifyJsPlugin({
        compress: {
            warnings: false
        }
    }),
//启用代码压缩

new webpack.ProvidePlugin({
        '$': 'jquery'
    }),
//将模块暴露在window下

new webpack.optimize.CommonsChunkPlugin({
        name: ['common'],
        minChunks: 2
    }),
//将公共模块打包到一个公共文件中
//minChunks的值决定有多少个entry文件调用了相同模块,才打包进公共文件中

new ExtractTextPlugin('[name].css'),
//将css文件打包成独立文件
]
}

webpack配置的说明的更多相关文章

  1. [webpack] 配置react+es6开发环境

    写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...

  2. webpack配置详解

    webpack配置详解 先点个赞吧,再挨个点下面的连接,觉得不值这个赞的回来骂我啊. Webpack傻瓜式指南(一) Webpack傻瓜指南(二)开发和部署技巧 Webpack傻瓜式指南 原生的官网详 ...

  3. Webpack配置示例和详细说明

    /* * 请使用最新版本nodejs * 默认配置,是按生产环境的要求设置,也就是使用 webpack -p 命令就可以生成正式上线版本. * 也可以使用 webpack -d -w 命令,生成用于开 ...

  4. vue-cli#2.0 webpack 配置分析

    目录结构: ├── README.md ├── build │ ├── build.js │ ├── check-versions.js │ ├── dev-client.js │ ├── dev-s ...

  5. webpack配置这一篇就够

    最近看了一篇好文,根据这个文章重新梳理了一遍webpack打包过程,以前的一些问题也都清楚了,在这里分享一下,同时自己也做了一些小的调整 原文链接:http://www.jianshu.com/p/4 ...

  6. webpack配置报错:invalid configuration object.webpack has been initialisted using a configuration objcet that does not match thie API schema

    最近接收了别人的项目,webpack配置总是报错如下:最后找到了解决办法,在此分享一下: 错误情况: 解决办法: 将package.json里面的colors删除掉即可

  7. 前端工程化(二)---webpack配置

    导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord 继续上一遍的配置,本节主要记录 ...

  8. vue全家桶安装以及修改webpack配置新增vue项目启动方式

    一.安装node环境(自带npm) 下载地址 二.替换下载源 // 淘宝 NPM 镜像 npm install -g cnpm --registry=https://registry.npm.taob ...

  9. vue-cli中webpack配置详解

    vue-cli是构建vue单页应用的脚手架,命令行输入vue init <template-name> <project-name>从而自动生成的项目模板,比较常用的模板有we ...

  10. storybook配置之基本配置和webpack配置

    默认配置 Storybook有一个默认的适合(suits)大型项目开发的webpack配置,假如你使用react app,他类似于创建一个react app的配置,并经过调整(tweaked ),使其 ...

随机推荐

  1. php 获取视频时长

    利用ffmpeg只能获取到本地视频的信息. function video_time($file) { ob_start(); passthru(sprintf(FFMPEG_PATH, $file)) ...

  2. Google Waymo 2017自动驾驶安全技术报告(一)

    2017年10月Google Waymo向美国交通部提交了一份43页的安全报告,报告中详细说明了Waymo如何装备和训练自动驾驶车辆,从而避免驾驶中的一般和意外情况发生.这份报告对Waymo的自动驾驶 ...

  3. 859. Kruskal算法求最小生成树(模板)

    给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数. 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible. 给定一张边带权的无向图G=(V, E),其中V表示 ...

  4. 2017-9-15Opencv 杂

    Mat::at()的具体含义.指的是三通道.(0),(1),(2)分别表示BGR: Vector<Mat>结构的使用.将Mat类型的数据转化成了具有多个单通道的容器? 灰度图的具体含义.和 ...

  5. C++-POJ3070-Fibonacci-[矩阵乘法][快速幂]

    #include <cstdio> ][];}; ,MOD=1e4; Matrix A,B,O,I; Matrix Mul(Matrix A,Matrix B){ Matrix C=O; ...

  6. Hibernate 和Mybatis的区别

    Hibernate 和Mybatis的区别   1.hibernate 入门门槛高,是一个标准的ORM框架(对象关系映射),不需要程序写sql,sql语句自动生成,对sql语句进行优化.修改比较困难. ...

  7. 【手抖康复训练1 】Codeforces Global Round 6

    [手抖康复训练1 ]Codeforces Global Round 6 总结:不想复习随意打的一场,比赛开始就是熟悉的N分钟进不去时间,2333,太久没写题的后果就是:A 题手抖过不了样例 B题秒出思 ...

  8. SQLserver还原提示正在还原中。解决方法

    今天在Sqlerver还原数据库时一直就卡在那里提示“正在还原…”的状态,此时无法操作数据库,下面我来给大家介绍解决些问题的方法 解决方法: RESTORE DATABASE demo FROM DI ...

  9. thinkphp5出现mkdir() Permission denied报错解决办法

    如果没有runtime目录,则需要手动创建一个,并且给runtime添加权限: mkdir runtime chmod -R 777 runtime 报错如下:

  10. Aspx Ajax 调用 C#函数处理数据

    jquery ajax 调用后台函数 var res; $.ajax({ type: "POST", url: "fast_index_overview.aspx/Get ...