Skip to content

Conversation

run27017
Copy link
Contributor

@run27017 run27017 commented Dec 5, 2018

mina-loader的lang属性会完全覆盖对应tag下的loader配置,这会让明显的配置显得过于冗长,例如我想加入less-loader给lang=less,不得不这样写:

{
  loaders: {
    script: 'babel-loader',
    style: {
      loader: 'postcss-loader',
      options: {
        config: {
          path: resolve('./postcss.config.js')
        }
      }
    }
  },
  languages: {
    scss: [
      {
        loader: 'postcss-loader',
        options: {
          config: {
            path: resolve('./postcss.config.js')
          }
        }
      },
      'sass-loader'
    ]
  }
}

可以看出,关于postcss-loader的配置写了两遍。

我的想法是,给lang加入个后缀afterbeforecover,以给原始的postcss-loader prepend or append or override 其他的loaders。

languages: {
  "scss:after": "sass-loader", // 等价于[postcss-loader, sass-loader]
  "scss:before": "sass-loader", // 等价于[sass-loader, postcss-loader]
  "scss:after": "sass-loader", // 等价于[sass-loader],postcss-loader被替换了
  "scss": "sass-loader" // 考虑到最常用的情况,等价于sass:after
}

@TravisBuddy
Copy link

Hey @run27017,
Your changes look good to me!

View build log

TravisBuddy Request Identifier: 07011160-f876-11e8-a3fa-23497f13c755

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants