【发布时间】:2019-07-03 05:56:03
【问题描述】:
考虑一下我的 react 应用中功能的以下文件夹结构:
feature1
actions
actionTypes.js
crud.js
component.js
container.js
reducer.js
sagas.js
sagas.test.js
services.js
index.js
feature2
actions
actionTypes.js
crud.js
component.js
container.js
reducer.js
sagas.js
sagas.test.js
services.js
index.js
在index.js 文件中,我正在导入各个功能的组件、容器、reducer 等,并从索引文件中导出相同的内容。
例如:feature1/index.js
import myReducer from './reducer';
import * as mySagas from './sagas';
import * as myServices from './services';
import * as myCRUD from './actions/crud';
import Component from './component';
import Container from './container';
import * as actionTypes from './actions/actionTypes';
export {
myReducer,
actionTypes,
myCRUD,
mySagas,
myServices,
Component,
Container,
};
现在在feature2的sagas.test.js文件中,我可以导入feature1的服务如下:
import { myServices } from '../feature1';
当我运行我的 Jest 测试时,上面的行导致失败:TypeError: window.locale_name is not a function。 window.locale_name 是在 feature1 中导入的第三方库中定义的函数。但另一方面,如果我按以下方式导入相同的内容,则不会引发错误。
import * as myServices from '../feature1/services';
【问题讨论】:
-
feature1有命名导出吗?还是默认导出?
标签: javascript reactjs import jestjs