我创建了一个类/库。我使用了构造函数及其方法的新类语法,现在是什么? 我应该在外部JS文件中使用它?
我有类似的东西
class LoadBalancer {
constructor() {/*...*/}
method1(...bla) {/*...*/}
}
我应该把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 中会怎么样?文件,就是这样。
答案 0 :(得分:0)
是的,我建议为您的班级编写一个带有export
语句的ES6模块(可能还有其他您要导出的内容)。您甚至不需要放置"use strict";
,它隐含在ES6模块中。
将您的库作为ES6模块(适用于任何现代环境或捆绑器或转发器)发布,或者自行进行转换,并使用您目击的UniversalModuleDefinition样式发布它的版本 - 转换器可以为您添加此类。您当然也可以发布这两个版本。