如何忽略原始加载程序来测试webpack

时间:2016-04-26 05:47:39

标签: javascript reactjs webpack

我有一些使用webpack raw loader内联加载svg的组件,例如...

import React, { Component } from 'react'
import svg from '!raw!../assets/images/logo.svg'

export default class Logo extends Component {
  render() {
    return (<a href={this.props.url} dangerouslySetInnerHTML={{__html: svg}} />)
  }
}

当尝试使用磁带测试服务器端的这些组件时,它们会崩溃。如果我有css模块,这没问题,我可以使用css-modules-require-hook但svg&#39; s将无效。所以我真的需要一个原始的加载器需要钩子或类似的东西。

require('babel-register');
require('css-modules-require-hook/preset');
/* tests after this can import components with css includes */

我尝试使用isomorphic-ensure,但这不起作用。

require('babel-register');
require('css-modules-require-hook/preset');
require('isomorphic-ensure')({
  loaders: {
    raw: require('raw-loader'),
    raw: require('react-svgdom-loader')
  },
  dirname: __dirname
})

我收到以下错误:

Cannot find module '!raw!../assets/images/

1 个答案:

答案 0 :(得分:1)

如果您没有使用webpack进行测试,那么可以使用ignore-styles module

如果您计划将其与css-modules-require-hook一起使用,则可能必须对其进行配置,因为它也会忽略CSS files by default。 e.g:

require('ignore-styles').register(['.svg'])