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

时间:2015-11-16 22:29:28

标签: jquery ecmascript-6 helper

我有一个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();
  });
})()

(但这个看起来真的很难看)

1 个答案:

答案 0 :(得分:3)

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

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

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