繁体   English   中英

使用 index.js 从“/文件夹”导入 javascript

[英]javascript import from '/folder' with index.js

我注意到一些案例,其中我看到了以下内容:

// /reducers/reducer1.js
export default function reducer1(state = {}, action){
  // etc...
}
  
// /reducers/reducer2.js
export default function reducer2(state = {}, action){
  // etc...
}

// /reducers/index.js
import { combineReducers } from 'redux';
import reducer1 from './reducer1';
import reducer2 from './reducer2';

export default combineReducers({
  reducer1,
  reducer2
})
  
// /store.js
import masterReducer from './reducers';

export default function makeStore(){
  // etc...
}

注意最后一个“文件”,我们在其中调用import masterReducer from './reducers' - 有些人似乎认为这应该从 index.js 文件导入default export

这实际上是规范的一部分吗? - 我的解释/问题是,这是许多人使用 WebPack v1 将import语句转换为 CommonJS 样式的requires语句的结果? 或者这会在具有“官方” import / export支持的 WebPack v2 中中断吗?

这实际上是规范的一部分吗?

不。模块标识符(在您的情况下为'./reducers' )如何解析为实际模块由模块加载器/捆绑器的实现决定,ES6 没有具体说明。 而且它似乎也没有在CommonJs中指定。

这就是 node 的工作方式 - 当需要一个目录时,将使用它的index.js文件。 像捆扎机browserify的WebPack遵循了这一约定(compat的原因)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM