是否有“es6方式”将一组函数打包到框架中? 以下哪种方法(或者如果我错过了某些选择)可以使用? 我正在使用Babel来传输代码,并希望确保我选择的路由尽可能地作为未来证明。
背景:
我开始了一个项目,并希望将大量功能纳入其自己的框架中。 实用程序函数的数量已经足够大,应该与使用它们的应用程序的其余部分分开。 类和函数按文件夹组织,每个文件都在自己的文件中,如下所示:
app
├─ array
│ ├─ ...
│ ├─ shuffle.js
│ ├─ ...
├─ math
│ ├─ ...
│ ├─ random.js
│ ├─ ...
├─ models
│ ├─ ...
│ ├─ answers.js
│ ├─ model.js
│ ├─ ...
所以目前在answers.js
我有包括:
import { shuffle } from './array/shuffle';
import { Random } from './math/random';
import { Model } from './models/model';
class Answers extends Model {
...
}
接下来我想组织并打包一个可以从中导入的新myframework
项目?
myframework
├─ model.js
├─ array
│ ├─ ...
│ ├─ shuffle.js
│ ├─ ...
└─ math
├─ ...
└─ random.js
选项1:
构建一个myframework.js
文件,以及什么?,命名空间子部分?然后answers
看起来像:
import { array.shuffle as shuffle } from 'myframework';
import { math.Random as Random } from 'myframework';
import { Model } from 'myframwork';
或者有没有办法声明子部分,导入可能如下所示,myframework.js
仍然是一个文件:
import { shuffle } from 'myframework/array';
import { Random } from 'myframework/random';
import { Model } from 'myframwork';
选项2:
为每个部分构建一个文件。我想调用基级core
或其他东西:
myframework
├─ core.js
├─ array.js
└─ math.js
和
import { shuffle } from 'myframework/array';
import { Random } from 'myframework/random';
import { Model } from 'myframwork/core';