ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 传统文件夹层次结构中的TypeScript类

2019-08-28 20:09:49  阅读:173  来源: 互联网

标签:modularity java typescript namespaces


我是一个经验丰富的Java开发人员,需要移植Java应用程序以供Web使用,我一直在考虑使用Typescript来实现这一点.目前,我希望将传统的Java风格的包保持为文件夹的层次结构和每个“叶”文件的单个类.

我一直在查看Typescript文档,我看到像../path/to/module这样的东西.这些都是相对的吗?是否有某种基本目录选项,我可以得到类似于导入com.ancient.java.MyType;?

另外,正在声明一个包com.ancient.java;在Typescript中要做些什么?

我查看了文档,但是我发现内部和外部名称空间和导出等所有内容都不容易阅读.

有人可以把它归结为让我感觉像Java一样的东西吗?我确定我会在以后根据需要介入所有复杂的东西.这在代码中是什么样的?

解决方法:

将打字稿类组织成每个文件1级和有组织的文件夹层次结构是完全可以接受的,甚至可以在打字稿中进行鼓励.

如果使用typescript 2.0或更高版本,则路径不需要是相对的.您可以使用baseUrl:属性指定非相对(即无或……)路径的根.比如你有:

tsconfig.json 
src/
   foo/
       foo.ts
   bar/
       bar.ts

你可以设置“baseUrl”:“./ src”然后你可以导入’foo / foo’并导入’bar / bar’而不使用相对路径导航.

我不鼓励你试图在打字稿中声明包/名称空间/内部模块等.这些类型的东西大多是过去的遗物,而不是我想冒险在新项目中使用的东西.

我建议坚持使用基于文件的模块,因为这是用于编写应用程序的现代推荐方法.

具有导入或导出语句的文件被视为“文件模块”.其中定义的所有内容都是文件专用的,不会污染全局命名空间.需要共享的内容需要从其他文件导出和导入.

例如,您可以在文件结构中编写MyType类,如下所示:

src/
    com/
        ancient/
            my-type.ts

my-type.ts看起来像:

export class MyType{
     constructor(){
        console.log('Hello World');
     }
}

然后你可以在其他文件中导入它,如:

import {MyType} from 'com/ancient/my-type'

您不应该使用关键字命名空间或模块.这些主要是只能在类型声明文件中找到的东西.

标签:modularity,java,typescript,namespaces
来源: https://codeday.me/bug/20190828/1755429.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有