或者,

    define

    通过 webpack 的 DefinePlugin 传递给代码,值会自动做 JSON.stringify 处理。比如:

    1. "define": {
    2. "process.env.TEST": 1,
    3. "USE_COMMA": 2,
    4. }

    externals

    配置 webpack 的??属性。比如:

    alias

    配置 webpack 的 属性。

    browserslist

    配置 ,同时作用于 babel-preset-env 和 autoprefixer。比如:

    1. "browserslist": [
    2. "> 1%",
    3. "last 2 versions"

    publicPath

    配置 webpack 的 属性。

    devtool

    配置 webpack 的 属性。

    禁用 CSS Modules

    disableCSSSourceMap

    extraBabelPresets

    定义额外的 babel preset 列表,格式为数组。

    extraBabelPlugins

    定义额外的 babel plugin 列表,格式为数组。

    extraBabelIncludes

    定义额外需要做 babel 转换的文件匹配列表,格式为数组。

    cssModulesExcludes

    指定项目目录下的文件不走 css modules,格式为数组,项必须是 css 或 less 文件。

    copy

    定义需要单纯做复制的文件列表,格式为数组,项的格式参考 的配置。

    比如:

    1. {
    2. "from": "",
    3. "to": ""
    4. }
    5. ]

    配置 webpack-dev-server 的 proxy 属性。如果要代理请求到其他服务器,可以这样配:

    然后访问?/api/users?就能访问到??的数据。

    sass

    manifest

    配置后会生成 manifest.json,option 传给 https://www.npmjs.com/package/webpack-manifest-plugin。比如:

    1. "manifest": {
    2. "basePath": "/app/"
    3. }

    ignoreMomentLocale

    忽略 moment 的 locale 文件,用于减少尺寸。

    disableDynamicImport

    禁用 按需加载,全部打包在一个文件里,通过 实现。

    es5ImcompatibleVersions

    让 babel 自动编译使用了 es6 语法的 npm 模块,。

    lessLoaderOptions

    给 的额外配置项。

    css-loader 的额外配置项。

    env

    针对特定的环境进行配置。dev 的环境变量是?development,build 的环境变量是?production。比如:

    1. "extraBabelPlugins": ["transform-runtime"],
    2. "env": {
    3. "development": {
    4. "extraBabelPlugins": ["dva-hmr"]
    5. }
    6. }

    这样,开发环境下的 extraBabelPlugins 是 ["transform-runtime", "dva-hmr"],而生产环境下是 。