tl; dr:
是否有可能加强/保证(使用库或其他工具).js文件只能访问模块的特定子集?
例如:如果.js文件位于文件夹/controllers
上,则仅允许访问特定的全局模块(例如:express
)并从特定的文件夹(例如:{{1 }})。此列表之外的任何内容都是不允许的
落后的原因:
在有许多开发人员的大型项目中,几乎不可避免地会有人入侵层。例如:在MVC控制器的动作中,通过db driver / SQL without访问存储库或更多sofisticated abstraction来访问数据库。
../repositories
这个非常基本的例子,只是为了说明问题。实际上,在多层/多模块系统中,事情实际上要复杂一些,并且随着项目的发展,出现无效的依赖关系图是很常见的。
我知道部分问题可以通过团队培训解决,但是我想知道是否有任何方法可以系统地加强这一点。也许在ESLint上接近no-restricted-imports或no-restricted-modules。
编辑: