我没有在谷歌上找到任何东西,但我想知道是否有一个“最佳实践”来构造一个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'
。
在这个问题上有什么最佳实践吗?
发布于 2018-04-03 08:42:01
你的方法似乎不错,我看不出有什么问题。在我工作过的两个不同的项目中(不同的公司),这是使用的模式。
您还可以将ModuleFile.js内容直接放在index.js中:
app.js
modules/
ModuleName/
index.js
或者直接为模块创建一个文件:
app.js
modules/
moduleName.js
在这种情况下,只有“文件”是必要的。明显的问题是,模块的变化或增长可能会迫使这种结构发生变化。与其他模块的结构也会有不一致之处。
https://stackoverflow.com/questions/49625248
复制相似问题