我有一些使用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/
答案 0 :(得分:1)
如果您没有使用webpack进行测试,那么可以使用ignore-styles module。
如果您计划将其与css-modules-require-hook一起使用,则可能必须对其进行配置,因为它也会忽略CSS files by default。 e.g:
require('ignore-styles').register(['.svg'])