ES6模块目录结构

时间:2018-04-03 08:11:54

标签: javascript

我在Google上没有找到任何内容,但我想知道在目录和模块导出方面是否存在构建ES6项目的“最佳实践”。

目前我确实有两种不同的方式:

为每个模块使用index.js并导出所有内容:

app.js
modules/
  ModuleName/
    ModuleFile.js
    index.js

ModuleFile.js看起来像export class ModuleFile { }index.js只是

export * from 'ModuleFile'

这样就可以导入import {ModuleFile} from 'modules/ModuleName'的文件。可读,但每个模块需要index.js,即使模块只有一个文件。

第二种方法是不使用index.js文件,但这意味着导入语句会略微多余import {ModuleFile} from 'modules/ModuleName/ModuleFile'

这个主题是否有最佳实践?

1 个答案:

答案 0 :(得分:0)

你的方法似乎很好,我没有看到它的问题。在我工作过的两个不同的项目(不同的公司)中,使用的是模式。

您还可以将ModuleFile.js内容直接放在index.js中:

app.js
modules/
  ModuleName/
    index.js

或直接为模块创建文件:

app.js
modules/
    moduleName.js

如果只需要“文件”。明显的问题是模块的变化或增长可能会迫使这种结构发生变化。在结构方面与其他模块也存在不一致。