【问题标题】:es6 module with few lines of code. What should I export?es6 模块,只有几行代码。我应该出口什么?
【发布时间】:2015-11-16 22:29:28
【问题描述】:

我有一个只需要几行代码的 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();
  });
})()

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

【问题讨论】:

    标签: jquery ecmascript-6 helper


    【解决方案1】:

    您无需导出任何内容。如果你只想通过加载模块来执行副作用,那也没关系。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-06
      • 2019-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多