2017-08-17 8 views
2

process.env.NODE_ENVを使用してファイルの動的をインポートして、本番または開発中のスタイルシートまたは別のものをインポートしようとしています。 ./src/index.jsでエラーが発生しました 構文エラー: 'import'と 'export'はトップレベル(13:4)にしか表示されません正解ではありません...どうすればいいですか?私は作成 - 反応 - アプリを使用するReactでの動的インポート

import 'babel-polyfill'; 
import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { Provider } from 'react-redux'; 

import App from './components/App'; 

import routes from './routes'; 
import configureStore from './store/configureStore'; 
import initialState from './reducers/initialState'; 

if (process.env.NODE_ENV === 'production') { 
    import './styles/index.css'; 
}else { 
    import './styles/index.scss'; 
} 
const store = configureStore(initialState); 

ReactDOM.render(
    <Provider store={store}> 
     <App /> 
    </Provider>, 
    document.getElementById('root') 
); 

ありがとう!!!

+0

使用 '(」./スタイル/ index.scss')が必要です'? :)しかし、おそらくこれはコードではなく、ビルド/ CIによって決定されるべきものです。 – Laoujin

+0

代わりに、 'import './styles';'プロダクション対開発のために拡張処理を '.css'から' .scss'に変更するか、エイリアスを持って環境に基づいてエイリアスを変更する。私は個人的にアプリケーションコード内でこのような分岐を避けるようにしています。なぜなら、これはアプリケーションロジックではなくロジックを構築することの問題だからです。同じファイルで 'require'と' import'を使うのは長期的にはうまくいきません。 – loganfsmyth

答えて

2

Laoujinがコメントに言及しているように、このシナリオではrequireを使用します。例えば

、ここにあなたのニーズに合うように調整することができた、NODE_ENVに基づいて、私は私のReduxのストアへのアクセスを設定する方法は次のとおりです。

const INITIAL_STATE = {}; 

function getStore() { 
    const configureStore = process.env.NODE_ENV === 'production' 
     ? require('./configure-store.prod').default 
     : require('./configure-store.dev').default; 
    return configureStore(INITIAL_STATE); 
} 

export default getStore(); 
+2

私はできれば+5になります - ありがとう:) – danday74

+1

ちょうど私の完全な一日を保存!どうもありがとうございます! 'create-react-app'を使うと、' ../ data/coming-soon.json ';から 'import FakeData_MoviesComingSoon'でファイルをインポートすることができます。これは決して_production_/_!== production_を分離することはできませんあなたのために!;-)) 'FakeData:process.env.NODE_ENV!== 'production'? require( '../ data/coming-soon.json'): '' 'は私が開発しているときにのみBIGデータファイルをインポートできるようにします。 Tx! Tx! Tx! Tx!私の作成したAppを、750kから131kに減らしてください! –

関連する問題