Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React中的动态导入_Reactjs_Ecmascript 6 - Fatal编程技术网

Reactjs React中的动态导入

Reactjs React中的动态导入,reactjs,ecmascript-6,Reactjs,Ecmascript 6,我试图通过process.env.NODE_env导入文件的动态,以导入样式表或生产或开发中的另一个样式表。我已经设置了加载它的条件,但它在./src/index.js中给了我一个错误 语法错误:“导入”和“导出”可能只出现在顶层(13:4),我想这是不正确的,但。。。我怎么做?我使用CreateReact应用程序 import 'babel-polyfill'; import React from 'react'; import ReactDOM from 'react-dom'; impor

我试图通过process.env.NODE_env导入文件的动态,以导入样式表或生产或开发中的另一个样式表。我已经设置了加载它的条件,但它在./src/index.js中给了我一个错误 语法错误:“导入”和“导出”可能只出现在顶层(13:4),我想这是不正确的,但。。。我怎么做?我使用CreateReact应用程序

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') 
);
导入“babel polyfill”;
从“React”导入React;
从“react dom”导入react dom;
从'react redux'导入{Provider};
从“./components/App”导入应用程序;
从“./routes”导入路由;
从“/store/configureStore”导入configureStore;
从“./reducers/initialState”导入初始状态;
if(process.env.NODE_env===‘生产’){
导入“./styles/index.css”;
}否则{
导入“/styles/index.scss”;
}
常量存储=配置存储(初始状态);
ReactDOM.render(
,
document.getElementById('root'))
);

谢谢

正如Laoujin在评论中提到的,在这个场景中,您需要使用
require

例如,以下是我如何基于
节点_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();

使用
require('./styles/index.scss')
?:)但也许这更应该由您的构建/CI而不是代码来决定?另一种方法是
import./styles'
然后将扩展处理从
.css
更改为
.scss
,用于生产vs开发,或者使用别名并根据环境更改别名。我个人尽量避免在应用程序代码中出现这样的分支,因为这表明这是构建逻辑的问题,而不是应用程序逻辑的问题。在同一个文件中使用
require
import
从长远来看是行不通的。只需保存我完整的一天!非常感谢你!使用
create react app
您可以通过
import FakeData_moviescoming soon from'../data/coming soon.json'导入一个文件,您将永远无法分离生产/==生产和(因为你!;-)
FakeData:process.env.NODE_env!='生产'?require('../data/coming soon.json'):''
允许我仅在开发时导入大数据文件。德克萨斯州!德克萨斯州!德克萨斯州!德克萨斯州!只需将我的内置应用程序从750k减少到131k!!