Lui*_*lar 8 typescript webpack
我正在尝试使用webpack发布一个TypeScript库,其文件夹结构如下:
src/
module1/
some-class.ts
index.ts
module2/
some-other-class.ts
index.ts
etc/
Run Code Online (Sandbox Code Playgroud)
如果在TS中使用,我应该能够做到:
import { SomeClass } from 'my-library/module1';
Run Code Online (Sandbox Code Playgroud)
而当使用require时,应该可以做到:
const SomeClass = require('my-library/module1');
Run Code Online (Sandbox Code Playgroud)
Webpack需要一个条目(或多个条目)和匹配这些条目的文件.但是,我看到为每个嵌套文件夹定义条目非常不切实际,也不知道如何制作深层嵌套条目require('my-library/module1/submodule1/etc')
.
另外,通过这种方式编写,它可能不会遵循由...输出的dts文件ts-loader
.
我在这里错过了什么?有没有办法让webpack复制TS源的模块结构?
我使用错误的工具吗?
如果是这样,人们用什么来捆绑图书馆?
我认为您可以在顶级 src/ 目录中创建一个 index.ts 文件并从那里导出每个子文件夹,例如export * from 'module1';
当您创建新模块时,您只需添加新行即可导出正确的目录。
附带说明一下,如果您想从顶层导出实际上位于模块内部较深处的内容,您可以使用以下语法export { myFunc } from './module1/nested/myFunc';
require('myLibrary/myFunc')
在这种情况下,您可以使用require('myLibrary/module1/nested/myFunc')
编辑:正如@Dehli所指出的,这些索引文件被称为Barrels(https://basarat.gitbooks.io/typescript/docs/tips/barrel.html)
归档时间: |
|
查看次数: |
150 次 |
最近记录: |