2017-11-02 7 views
0

create-react-appを使用してReactアプリケーションを構築しています。私はreact-svg-loaderを追加し、この方法でそれを使用してきました:リアクションアプリケーションをイジェクトすることなくレスキューローダーを作成すると失敗する

export { default as arrowLeft } from '-!react-svg-loader!./arrow-left.svg'; 
export { default as arrowRight } from '-!react-svg-loader!./arrow-right.svg'; 

しかし、私はyarn buildを実行しようとしていたときに - プロセスが縮小ステップに失敗します。

最適化された生産ビルドを作成しています...に失敗しました。コンパイル。

は、このファイルからコードを縮小化に失敗しました:

./node_modules/react-svg-loader/lib/loader.js!./src/icons/arrow-left.svg:6 

読むよりここに:http://bit .ly/2tRViJ9

私は噴出せずに何とかそれを修正することはできますか?

答えて

0

の上部にeslintを無効にする必要があります。このライブラリで使用されているconfig-overrides.jsの内部には、webpack configにアクセスできます。それは簡単に変更することができます。

const rewireSvgReactLoader = require('react-app-rewire-svg-react-loader'); 

module.exports = function override(config, env) { 
    return rewireSvgReactLoader(config, env); 
}; 
+0

OP – oshikryu

+0

@oshikryuチェックで慎重に行っていないことを説明したのは、本質的に「排出」です。私はイジェクトしていない。私は「反応スクリプト」を「反応するアプリケーション再配線」に変更しています –

0

これは、反応スクリプト(config-powers-create-react-app)のフォークですが、新しい機能を追加するために試してみてください。https://github.com/kitze/custom-react-scripts

+0

残念ながら、それはいくつかの追加機能を持つだけで、別のスクリプトです:

私の設定は次のようになります。 SVGサポートは –

+0

ではありません。正しいですが正しくないです。はい、ドラッグ&ドロップソリューションを提供していますが、設定を開いたままにしておくこともできます: https://github.com/kitze /custom-react-scripts/blob/master/packages/react-scripts/config/webpack.config.dev.js#L244 少なくとも、それはあなた自身がそれをやる方法を指摘するのに役立ちます –

-1

あなたは私が見つけた最善の解決策は、react-app-rewired + react-app-rewire-svg-react-loaderで、あなたのSVGをインポートファイル

/* eslint import/no-webpack-loader-syntax: off */ 
+0

ここでESLintが見えますか?どのように私の質問に関連している? –