• webpack新版本4.12应用九(配置文件之多种配置类型)


    除了导出单个配置对象,还有一些方式满足其他需求。

    导出为一个函数

    最终,你会发现需要在开发生产构建之间,消除 webpack.config.js 的差异。(至少)有两种选项:

    作为导出一个配置对象的替代,还有一种可选的导出方式是,从 webpack 配置文件中导出一个函数。该函数在调用时,可传入两个参数:

    -module.exports = {
    +module.exports = function(env, argv) {
    +  return {
    +    mode: env.production ? 'production' : 'development',
    +    devtool: env.production ? 'source-maps' : 'eval',
         plugins: [
           new webpack.optimize.UglifyJsPlugin({
    +        compress: argv['optimize-minimize'] // 只有传入 -p 或 --optimize-minimize
           })
         ]
    +  };
    };
    

    导出一个 Promise

    webpack 将运行由配置文件导出的函数,并且等待 Promise 返回。便于需要异步地加载所需的配置变量。

    module.exports = () => {
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve({
            entry: './app.js',
            /* ... */
          })
        }, 5000)
      })
    }
    

    导出多个配置对象

    作为导出一个配置对象/配置函数的替代,你可能需要导出多个配置对象(从 webpack 3.1.0 开始支持导出多个函数)。当运行 webpack 时,所有的配置对象都会构建。例如,导出多个配置对象,对于针对多个构建目标(例如 AMD 和 CommonJS)打包一个 library 非常有用。

    module.exports = [{
      output: {
        filename: './dist-amd.js',
        libraryTarget: 'amd'
      },
      entry: './app.js',
      mode: 'production',
    }, {
      output: {
        filename: './dist-commonjs.js',
        libraryTarget: 'commonjs'
      },
      entry: './app.js',
      mode: 'production',
    }]
    

      

      

      

  • 相关阅读:
    使用.sig签名验证文件
    ubuntu server 安装nextcloud12
    centos 搭建owncloud私有云
    archlinux错误:无法提交处理 (无效或已损坏的软件包)
    Oracle数据库-建库、建表空间,建用户
    JS中几种遍历方式
    常用的正则表达式
    JavaWeb中GET请求url传参中文乱码问题
    常用的ajax方式
    table中td内容过长自动换行
  • 原文地址:https://www.cnblogs.com/wntd/p/9181484.html
Copyright © 2020-2023  润新知