用于打印的Webpack Style-loader媒体标签

时间:2016-11-23 01:04:03

标签: webpack webpack-style-loader

我有一个包含css的webpack加载器,我想添加另一个带有media属性的css链接进行打印

<link rel="stylesheet" media="print" href="file.js">

我尝试修改style-loader模块的addStyles.js,并在options对象中添加了media属性来读取传递给style-loader的查询参数

    loaders: [
  {
    test: "print.css",
    loaders: [
      'style-loader?media=print', // here i pass the print value to media  in options object
      'css-loader?sourceMap'
    ]
  },

这里的问题是,即使我为单个文件传递媒体参数,它也会在所有包含的css文件中生成此文件,我该如何避免这种情况?

在这里你可以找到完整的装载机

  loaders: [
  {
    test: /\.global\.css$/,
    loaders: [
      'style-loader',
      'css-loader?sourceMap'
    ]
  },

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

  { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' },
  { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' },
  { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream' },
  { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file' },
  { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml' },
]

0 个答案:

没有答案