Alo*_*lon 3 amd commonjs node.js typescript
我有一个用TypeScript编写的Node.js项目.在我的项目中,我有一个名为"public"的文件夹,其中包含客户端代码和HTML以及一个名为classes.ts的文件,该文件应该与服务器端共享.
问题是我需要在类声明之前添加"export"以使它们在服务器中可访问,但是在浏览器中我得到此错误:
未捕获的ReferenceError:未定义导出
我发现了这些问题:https: //github.com/Microsoft/TypeScript/issues/5094, 使用客户端和服务器应用程序之间共享的类设置一个Typescript项目?, 使用TypeScript在客户端和服务器之间共享模块,建议在服务器中使用commonjs,但在客户端中使用.这个解决方案的问题是它们有3个不同的项目(服务器,客户端和共享),而我只有一个项目,我使用commonjs.另一个建议是:
另一种选择,更复杂,需要一个后期构建步骤来按摩代码; 如果你不能在客户端代码中使用模块加载器,那就是隔离服务器代码中的所有模块依赖关系,那么在共享中,它们只是类.不使用--module构建共享文件,也不构建导出或导入,而是在单个命名空间内构建共享文件,例如命名空间MyApp {...}; 在您的客户端代码中,您直接包含它们,并使用--out发出.在您的服务器代码中,您首先将共享代码发送到单个文件shared.js和单个.d.ts shared.d.ts,使用一些代码扩充它们以将它们导出为模块,例如append exports = MyApp在shared.js和shared.d.ts的末尾,然后从服务器代码中导入它们.
但我不想一直处理更新.d.ts文件,我也不确定它是否可以在一个项目中工作.
有关如何在浏览器和服务器中访问TypeScript类的任何建议吗?
任何帮助将深表感谢!
这绝对是可能的.
我有一个项目,包含在浏览器中运行的SPA客户端应用程序和在node.js中运行的服务器,这两个应用程序共享公共的打字稿类.对于所有这些我只有一个tsconfig.json文件(我仍然不确定这是最好的方法,但现在它工作正常)
以下是我的设置部分:
它就像一个魅力.
| 归档时间: |
|
| 查看次数: |
2755 次 |
| 最近记录: |