是否可以根据不同的查询参数有条件地应用不同的加载程序?

谢尔盖·拉平(Sergey Lapin)

我正在尝试在webpack级别上解决css-modules全局vs本地css的问题

我目前拥有的最好的解决方案是标记文件并在文件上运行不同的加载器,这在现实世界中的项目中非常乏味。

{
      test: /\.module.less$/,
      loader: 'style-loader!css-loader?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!less-loader'
}
{
      test: /^((?!\.module).)*less$/,
      loader: 'style!css!less'
}

假设我有文件styles.css

在应用代码中的某个地方,我想这样写:

var localCss = require('magicCSSLoader?local!./styles.css')
require('magicCSSLoader?global!./styles.css')

这很冗长,但是

  1. 明确的,以后可以配置(localByDefault / globalByDefault)
  2. 从git的角度来看,总比重命名文件更好
  3. 同一文件可以不同地处理

所以我的问题是:

是否可以根据不同的查询参数有条件地应用不同的加载程序?

loader: function(content, query) {
         if(query.local) {
           return webpackMagic(content, 'style!css?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]')
         }
           return webpackMagic(content, 'style!css');
        }
安德烈·波普

解决方案是使用间距加载程序有条件地生成模块

var loaderUtils = require('loader-utils')

module.exports.pitch = function(remainingRequest) {
  var query = loaderUtils.parseQuery(this)
  if (query.local) {
    return `modules.exports = require("!!style!css?modules!${remainingRequest}")`;
  } else {
    return `modules.exports = require("!!style!css!${remainingRequest}")`;
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有条件地使用不同的资产目录构建应用

来自分类Dev

是否可以有条件地在Oracle中透视不同数据类型的列?

来自分类Dev

根据不同单元格中的值有条件地更改字体颜色

来自分类Dev

是否可以根据调用的应用程序(ssh或sshfs)在〜/ .ssh / config中具有条件选项?

来自分类Dev

如何使用相同的参数有条件地运行不同的命令

来自分类Dev

可以在useEffect中有条件地进行不同的清理吗?

来自分类Dev

是否可以根据用户的屏幕大小有条件地更改div标签?

来自分类Dev

有条件地在CellFactory中提供不同的TreeCell

来自分类Dev

SwiftUI:有条件地显示不同的工作表项

来自分类Dev

DAX有条件地从不同的列求和?

来自分类Dev

Restlet有条件地路由到不同的资源

来自分类Dev

有条件地找到不同的计数

来自分类Dev

如何有条件地呈现不同的节目模板

来自分类Dev

是否可以使单个参数在步进函数中有条件地接收其值?

来自分类Dev

有没有一种干净的方法可以有条件地为同一React Router路由加载和渲染不同的组件?

来自分类Dev

有没有一种方法可以根据模块404是否通过RequireJS有条件地加载模块?

来自分类Dev

有没有一种方法可以根据模块404是否通过RequireJS有条件地加载模块?

来自分类Dev

argparse可以有条件地解析参数吗?

来自分类Dev

是否可以有条件地链接CSS字体?

来自分类Dev

弹簧集成-是否可以有条件地窃听?

来自分类Dev

根据列中的值有条件地聚合具有不同功能的分组数据框

来自分类Dev

根据另一列中的数据有条件地从不同列中选择数据

来自分类Dev

根据 Woocommerce 中的购物车商品价格有条件地设置不同的税率

来自分类Dev

是否有一个Excel公式可以根据列标题有条件地对行求和?

来自分类Dev

有条件地应用 CSS

来自分类Dev

Sitecore插入选项是否可以根据父项的内容有条件地添加模板?

来自分类Dev

有条件地为不同的屏幕尺寸提供不同的JavaScript

来自分类Dev

具有条件的不同值

来自分类Dev

我可以在应用程序的make文件中有条件地构建PC文件(Oracle Pro * c)吗?

Related 相关文章

  1. 1

    有条件地使用不同的资产目录构建应用

  2. 2

    是否可以有条件地在Oracle中透视不同数据类型的列?

  3. 3

    根据不同单元格中的值有条件地更改字体颜色

  4. 4

    是否可以根据调用的应用程序(ssh或sshfs)在〜/ .ssh / config中具有条件选项?

  5. 5

    如何使用相同的参数有条件地运行不同的命令

  6. 6

    可以在useEffect中有条件地进行不同的清理吗?

  7. 7

    是否可以根据用户的屏幕大小有条件地更改div标签?

  8. 8

    有条件地在CellFactory中提供不同的TreeCell

  9. 9

    SwiftUI:有条件地显示不同的工作表项

  10. 10

    DAX有条件地从不同的列求和?

  11. 11

    Restlet有条件地路由到不同的资源

  12. 12

    有条件地找到不同的计数

  13. 13

    如何有条件地呈现不同的节目模板

  14. 14

    是否可以使单个参数在步进函数中有条件地接收其值?

  15. 15

    有没有一种干净的方法可以有条件地为同一React Router路由加载和渲染不同的组件?

  16. 16

    有没有一种方法可以根据模块404是否通过RequireJS有条件地加载模块?

  17. 17

    有没有一种方法可以根据模块404是否通过RequireJS有条件地加载模块?

  18. 18

    argparse可以有条件地解析参数吗?

  19. 19

    是否可以有条件地链接CSS字体?

  20. 20

    弹簧集成-是否可以有条件地窃听?

  21. 21

    根据列中的值有条件地聚合具有不同功能的分组数据框

  22. 22

    根据另一列中的数据有条件地从不同列中选择数据

  23. 23

    根据 Woocommerce 中的购物车商品价格有条件地设置不同的税率

  24. 24

    是否有一个Excel公式可以根据列标题有条件地对行求和?

  25. 25

    有条件地应用 CSS

  26. 26

    Sitecore插入选项是否可以根据父项的内容有条件地添加模板?

  27. 27

    有条件地为不同的屏幕尺寸提供不同的JavaScript

  28. 28

    具有条件的不同值

  29. 29

    我可以在应用程序的make文件中有条件地构建PC文件(Oracle Pro * c)吗?

热门标签

归档