导入模块只是为了运行它

big*_*ind 6 javascript ecmascript-6

我有一个JavaScript文件,用于注册我正在使用的表单验证库的验证器。这些验证器可通过该库访问,因此我不需要将其导入任何地方,只需要确保它运行一次即可。

  1. 如何在es6中以这种方式导入模块?

  2. 在项目中最佳的位置是什么?我目前在主js文件中拥有该文件,所有文件均已启动,但该文件与表单或数据验证无关,因此感觉有些不了解

Ber*_*rgi 6

如何在es6中以这种方式导入模块?

您可以使用

import 'validators/register';
Run Code Online (Sandbox Code Playgroud)

导入一个模块只是为了它的副作用。

项目中执行此操作的最佳位置是什么?

最好的解决方案不是将验证器注册为副作用,而是用自定义对象装饰验证库。模块结构,即从何处导入这些装饰,很快就会变得显而易见。

如果您需要使用注册方法,只需将导入放入任何使用注册验证器的模块中,通常与库本身的导入一起。如果您在许多地方需要它们一起使用,您也可以在一个额外的模块中考虑到这一点,该模块将库与注册捆绑在一起。