-2

我创建了一个类/库。我将新的类语法与构造函数及其方法一起使用,现在呢?在外部 JS 文件中使用它应该放什么?

我有这样的东西

class LoadBalancer {
    constructor() {/*...*/}
    method1(...bla) {/*...*/}
}

我应该把 a 放在顶部use strict吗?

'use strict';

也许把我的班级放在一个自动执行的匿名函数中?或export与我的班级名称一起使用?

我见过许多具有如下语法的 .js 文件:

(function (root, factory) {
    if(typeof exports === 'object' && typeof module === 'object')
        module.exports = factory();
    else if(typeof define === 'function' && define.amd)
        define("EventBus", [], factory);
    else if(typeof exports === 'object')
        exports["EventBus"] = factory();
    else
        root["EventBus"] = factory();
})(this, function() { /*....
    their functions and libraries declaration goes here
    .....*/ 
    return whatEverNewFunc();
});

但我不知道这意味着什么,如果你不使用它们会发生什么,或者有什么优势,如果我只是将我class LoadBalancer {/*...*/}的放在loadBalancer.js文件中,就是这样。

4

1 回答 1

0

是的,我建议export为您的课程编写一个带有语句的 ES6 模块(可能还有您想要导出的其他内容)。你甚至不需要 put "use strict";,它隐含在 ES6 模块中。

将您的库作为 ES6 模块发布(适用于任何现代环境或捆绑器或转译器),或者自己转译并使用您见证的 UniversalModuleDefinition 样式发布它的版本 - 转译器可以为您添加它。当然,您也可以同时发布这两个版本。

于 2018-01-17T17:44:55.730 回答