Paw*_*wel 8 javascript browser module node.js typescript
我想创建一个可以在浏览器和nodejs中使用的库.为了论证,让我们说这是我的库:
export default class MyClass {
public getString(): string {
return "Message";
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,浏览器不支持ES2015模块,我不希望在浏览器中依赖requirejs或任何其他模块加载器 - 我希望通过使用script标记包含生成的.js文件来使用此库.感觉我想要的东西可以通过使用内部模块来实现(我不想污染全局命名空间).但是,当我将代码包装在namespace/中module时,我很难将其编译为commonjs模块.
实现我想要的正确方法是什么?或者,可能是,我完全脱离了轨道这里是打字稿和javascript noob?
小智 7
我想你需要的是UMD.随着tsconfig.json含
script
生成的JavaScript将如下所示:
UMD
它适用于节点(CommonJS)以及浏览器(CommonJS,AMD).要允许您的库的用户只通过tsconfig.json标记包含它,您需要模块捆绑器,如Webpack,Browserify或Rollup.这些将使用全局导出生成UMD定义,因此库的主文件的默认导出将作为全局范围内的某个变量提供.
| 归档时间: |
|
| 查看次数: |
1477 次 |
| 最近记录: |