【发布时间】:2020-02-20 01:01:30
【问题描述】:
我是 JS 设计模式的新手,没有使用过很多 require 或 import。我有一个包含多个函数和私有变量的模块,它被打包到一个模块中。目前所有内容都在一个文件中,但将其拆分为多个文件将是一种很好的做法,并且可以提供更好的清晰度。模块模式的简化视图如下所示:
let Module = () => {
//some private variables
let private1,
private2;
//some public functions
function addDatatoPrivate1 (data) {
private1 = processData(data);
}
function addDatatoPrivate2 (data) {
private2 = processData(data);
}
//private function processData
function processData(data) {
return data.trim();
}
return {
addDatatoPrivate1: addDatatoPrivate1,
addDatatoPrivate2: addDatatoPrivate2,
}
}
我想将函数拆分为多个文件,即 addDatatoPrivate1、addDatatoPrivate2 和 processData 的单独文件。此外,我希望变量 private1 和 private2 可用于模块中的其他方法。如何将代码拆分为多个文件,然后如何使用import 将模块的不同组件打包成一个。
最终的目标是让用户可以加载到他们自己的项目中并使用 d3js 或 jQuery 之类的东西。例如,使用上面的代码,任何人都可以简单地将模块分配给一个变量并像这样使用它:
let moduleInstance = Module();
moduleInstance.addDatatoPrivate1(' some data here ');
moduleInstance.addDatatoPrivate2(' some data here2 ');
【问题讨论】:
标签: javascript design-patterns import revealing-module-pattern