簡體   English   中英

如何忽略原始加載程序來測試webpack

[英]How to ignore raw loader for testing webpack

我有一些使用webpack原始加載器內聯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將無法正常工作。 所以我真的需要一個原始的加載器需要鈎子或類似的東西。

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/

如果您沒有使用webpack進行測試,那么您可以使用ignore-styles模塊

如果您計划將其與css-modules-require-hook一起使用,則可能必須對其進行配置, 因為默認情況下它也會忽略CSS文件 例如:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM