es6 模块,只有几行代码。我应该导出什么?

es6 module with few lines of code. What should I export?

我有一个 jQuery 助手,只有几行代码:

$(document).on('change', '.foo', (e) => {
  $(e.target).closest('form')[0].submit();
});

问题是,我使用 es6 模块,但不知道要导出什么。什么是最好的写法?

我应该怎么做:

export default function foo() {
  $(document).on('change', '.foo', (e) => {
    $(e.target).closest('form')[0].submit();
  });
}

然后在每个文件中调用 foo 我需要这个助手吗? (我也可以将它放在我的入口文件中,但稍后将很难知道它是否仍被模块使用)。

或者:

export default (function() {
  $(document).on('change', '.foo', (e) => {
    $(e.target).closest('form')[0].submit();
  });
})()

(不过这个真的很难看)

您不需要导出任何东西。如果你只想通过加载模块来执行副作用,那很好。

// foo-submitter.js
import $ from 'jquery';
$(document).on('change', '.foo', (e) => {
    $(e.target).closest('form')[0].submit();
});

// main.js
import 'foo-submitter';