gpt4 book ai didi

javascript - ES6模块初始化顺序错误?

转载 作者:行者123 更新时间:2023-11-28 06:12:52 24 4
gpt4 key购买 nike

所以我有一个模块树,特别是两个行为异常的模块。使用 Babel 6 + Browserify (babelify)。

模块 #1 (WindowManager/index.js) 导出一个名为 reducer 的命名函数以及默认导出。

import WindowManager from './component';

import { combineReducers } from 'redux';
import { connect } from 'react-redux';
import { reducer as search_palette } from './SearchPalette';

const initialState = {
// stuff
};

const window_manager = (state = initialState, action) => {
// stuff

return state;
};

export const reducer = combineReducers({window_manager, search_palette})

const mapStateToProps = (state) => {
return {
// stuff
};
};

export default connect(mapStateToProps)(WindowManager)

模块 #2 (store.js) 导入 WindowManager/index.jsreducer 函数并尝试使用它。

import { createStore, combineReducers } from 'redux';
import { reducer as WindowManagerReducer } from './WindowManager';

const initialState = {
// stuff
};

const FetchApplicationsReducer = (state = initialState, action) => {
// stuff

return state;
}

export default createStore(
combineReducers({
applications: FetchApplicationsReducer,
ui: WindowManagerReducer,
})
)

由于某种原因,store.js 在 WindowManager/index.js 之前执行,因此导出不可用。

有人遇到过这种情况吗?

最佳答案

经过多次调整,修改 import 语句的顺序解决了该问题。这是一棵复杂的树,很难以不涉及转储整个项目的方式在这里表示......但我认为最终 Babel 的 ES6 模块系统中的某个地方可能存在错误。

关于javascript - ES6模块初始化顺序错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36225892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com