大佬教程收集整理的这篇文章主要介绍了reference – 你能创建Typescript包吗?比如c#dlls,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在尝试将纯javascript项目迁移到typescript时,我发现痛苦的一件事是引用,在某些情况下,我有复杂的对象,我不得不写几个引用来自所有地方的文件的引用语句.
部分原因在于我的项目布局,因为它是一个非常大且模块化的,所以我有一个这样的系统:
- modules |- module1 |- models |- services |- controllers |- module2 |- models |- services |- controllers |- core |- models |- services |- data |- validation
还有更多,但是你明白了,现在每个模块都使用了核心,但是使用javascript我只是希望它在运行时加载,这仍然需要发生,但是因为打字稿的关注只是真的在编译时我想知道是否有一些概念将所有打字稿文件打包到某些打字稿库或其他东西,然后可以从项目中引用而不是让module1模型引用核心模型等.
目前的问题围绕目录结构,因为命名空间工作正常但如果我移动文件,我需要去每个引用移动文件的文件并更新它.这是令人厌倦的,而如果有某种包装的想法,那么我可以只引用它的输出,所以我不再担心文件系统和目录,我只是担心包和命名空间.
我认为很多这与C#的工作方式非常相似,你有一个有引用的项目.然后,该项目中的每个文件都可以使用引用中的任何类,因此代码公开由引用和名称空间管理.
我正在考虑让我的构建脚本只创建一个本地references.ts文件,然后遍历relavant模块中的每个* .ts文件并将它们放入一个大文件中:
///<reference path="core/models/some-model.ts"/> ///<reference path="core/models/some-model-2.ts"/> ///<reference path="core/services/some-service.ts"/>
如上所示,然后在所有需要核心文件的打字稿文件中使用此参考文件,因此这可以作为一种项目级引用,这可能意味着一些文件有他们不需要的引用,但它的编译时间所以我真的不在乎. ..
如果一个好方法已经存在,我不想亲@L_673_28@手解决这个问题,希望有意义……
==编辑==
我只是想在这里发布,因为我的场景节省了我很多时间,并且还减少了我的参考guff 99%,这不适用于那些没有构建脚本的人.
现在假设你有一个构建脚本,我采取了在我的脚本中执行一个步骤的路径,该步骤遍历根级目录(在本例中为module1,module2等)中的每个文件,然后它将输出local.references. ts进入该目录中的引用文件夹.然后我手动编写了一个external.references.ts,它在需要的地方引用外部描述符或其他模块引用.
在编写我的打字稿之后完成这部分之后,我基本上再将它指向根目录并告诉它将它们全部(* /.ts)编译成一个大的js文件(即module1.js).现在因为这将@L_673_28@包含本地和外部引用,我不需要在各个clases中放置任何引用声明.
因此,提供本地和外部参考文件(local.reference.ts,external.reference.ts)的方式包含在文件的批量处理中,您只需要担心命名空间,这与C#的方式几乎相同操作.
以上是大佬教程为你收集整理的reference – 你能创建Typescript包吗?比如c#dlls全部内容,希望文章能够帮你解决reference – 你能创建Typescript包吗?比如c#dlls所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。