TypeScript.NET, 一种基于JavaScript友好. NET

分享于 

11分钟阅读

GitHub

  繁體 雙語
.NET Library Ported to TypeScript (Typed JavaScript)
  • 源代码名称:TypeScript.NET
  • 源代码网址:http://www.github.com/electricessence/TypeScript.NET
  • TypeScript.NET源代码文档
  • TypeScript.NET源代码下载
  • Git URL:
    git://www.github.com/electricessence/TypeScript.NET.git
    Git Clone代码到本地:
    git clone http://www.github.com/electricessence/TypeScript.NET
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/electricessence/TypeScript.NET
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    TypeScript.NET

    一个基于javascript友好的绘图库

    Patreon donate button 通过本课程进行或者支持: https://www.udemy.com/stepping-up-to-typescript-fundamentals/

    这个项目的目的是允许一个基于. NET的打印机( 和结果的JavaScript ) 库进化。 由于. NET 库(。意味着它是类结构和类,不一定是它的内容) 具有大量的可用性,因此欢迎捐赠。 使用. NET 开放的采购,打印机似乎是最合理的方法来利用它。 类型。泛型。类。模块。继承都需要使用这个优雅的JavaScript库来实现。

    很多来自TypeScript本身和 linq.js. 这样的库的灵感来自于. NET's 惯例(。camelCase方法,支持首字母大写),有些事情只需要做一些不同的事情。 ,扩展,作为一个特性,可以能是. NET 没有计划的最大增加,但它具有一些技巧。

    如果你有一个. NET 库类,你希望看到在打字簿中表示,提交( 作为一个问题),或者自己提交。 : )

    我为什么要用这个更不用说打字了?

    • 是 100%兼容 JavaScript。 当前的TypeScript目标是 ES5,因此传统的将不能工作。 主要是由于访问器,但是前进版本与ES6几乎相同,你不必将源代码更改为更新版本。 : )
    • app由 C#的创始人 Anders Hejlsberg领导。 如果你是类型化语言( 像 C# )的爱好者,你将感到非常在家,但是你将获得所有的灵活性和兼容性。 有关app语言的更多信息,请参见 www.typescriptlang.org。 还有一些关于维基百科的更多信息。
    • 智能感知和使用IDE的好处应该是明显的,尤它的是如果你是一个更大的项目编码。 键入的编译在很好的方式下。 你在长期的时间里犯了很多小错误。 TypeScript可能是对JavaScript的最佳答案。 它仍然是 JavaScript,但有很多奖金,包括一个不断增长的社区。 : )
    • 大多数主流ide和文本编辑器现在都支持内置或者通过插入:
    • Visual Studio
    • vs 代码
    • WebStorm ( 强烈建议使NodeJS开发成为一个梦想。) !
    • Sublime Text
    • Atom

    给 NAME。

    发行说明:

    • 4.0.0: 使用 TypeScript 2标记第一个版本。 内置了严格的空检查,并将通过泛型传播。

    高光

    • : 通过改进和优化移植到app的完整 linq.js 库。 IEnumerable <> 通过单元测试的正确使用。 你喜欢Linq的所有东西,但是完全类型化和JS兼容。 **All 集合现在支持使用 nodejs/commonjs的.linq 惰性 helper 属性。
    • 例外情况: ArgumentNullException ArgumentNullException使用 instanceof ArgumentOutOfRangeException ArgumentOutOfRangeException growing growing growing在使用语句catch如何处理错误,如使用多个 catch。
    • 收集: 具有标准 ICollection <> 和 IEnumerable < T> 接口的多个集合类型。 使用 <<t>通用接口测试的所有单元测试了 pb t>。队列 <t>。字典 <t>和更多的单元。 **
    • :: 额外的接口。实用程序和类,如 DisposableBase帮助为较大的应用程序提供清理 Pattern,从而很容易遇到内存泄漏。 其中的许多类,包括 IEnumerator <t>,都使用IDisposable来确保释放引用。
    • ObjectPool: 在某些情况下,使用内部对象常常非常常见,而不是依靠垃圾收集器进行清理,可以使用ObjectPool来获取性能/效率增益。 请在这里查看实际使用
    • 日期 DateTime &::: system。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。ibm。
    • UriQueryParams,& QueryBuilder: Having的类型化类和接口在web开发中往往非常有用。 最初由. NET System.Uri 类启动,这些都是从头开始编写的,更有用并且有助于在JavaScript中调试。
    • 正规表达式: 包含命名组捕获。在正则表达式结果中访问组非常方便。
    • 承诺 <T>镑 LazyPromise <T::: 一组有效的承诺,满足标准ES6使用,同时允许一些有用的方法来提高应用程序的性能。 在这里阅读更多的
    • 并行::: 将分发任务简化为'员工'。 具备 mapreduce 功能,并产生 Promise <>。
    • TypeValidator <T> : 用于复杂类型或者JSON的易于使用的运行时类型检查器。 在这里阅读更多的
    • 目前没有外部相关性。

    用法

    经过一些时间和精力,我已经决定这个库应该是基于 MODULE的,因为有太多的文件和依赖项可能会被使用,或者。 这只是正确的决定和结果:

    • 只加载你需要的东西当你需要它的时候。 你可以在项目中导入整个应用程序. NET 库,而不必担心不需要的额外字节。
    • 将模块编译成一个整体库比相反。
    • 如果你关心捆绑和缩小,'。r.js 优化器' 可能是正确的选择。
    • 模块结构不局限于 requirejs,因为它应该与 jspm/systemjs完美工作。
    • 更改 MODULE 类型是很容易的。 : )
    • 你可以很容易地将整个库重新编译到另一个文件夹中,使用gulp完全缩小。
    • 已经缩小源地图版本提供在 folder文件夹中
    为什么不更进一步,把它分解成独立的NPM样式模块/包?

    碎片和粒度只是让生命变得更加困难的一点。 如果一个 MODULE 依赖于另一个,并且你希望实现改进,那么如果它们在同一位置。

    ::

    版本 2.5是第一个NPM发行版。 我们的目标是尽可能让用户友好。

    所有发行版包含源映射。
    https://www.npmjs.com/search?q=typescript-dotnet

    通用 MODULE 定义( UMD )
    
    npm install typescript-dotnet-umd
    
    
    
    

    在大多数情况下,强烈推荐使用 UMD ( 缩小) 版本,因为它适用于AMD和 CommonJS。
    注意:web pack在UMD方面有问题。 如果你打算使用 web pack,使用CommonJS或者 AMD。

    所有已经发布的NPM MODULE 类型

    仅在你需要的MODULE 类型上安装,以避免类型冲突。

    目前,可以通过多种不同的方式使用/支持应用程序. NET:

    导入示例:
    import Enumerable from "typescript-dotnet-es6/System.Linq/Linq"
    对于直接部署到 web/浏览器的用户,建议使用 :

    注意:web pack在UMD方面有问题。 如果你打算使用 web pack,使用CommonJS或者 AMD。

    import Enumerable from "typescript-dotnet-umd/System.Linq/Linq"
    纯( unminified ) CommonJS可以采用以下方式:
    import Enumerable from "typescript-dotnet-commonjs/System.Linq/Linq"
    建议使用源映射纯缩小 AMD ( RequireJS )的用户:
    import Enumerable from "typescript-dotnet-amd/System.Linq/Linq"

    Bower:

    
    bower install typescript-dotnet
    
    
    
    

    这也应该在 Bower 组件目录中包含 require.js。 如果你需要另外一种 MODULE 类型的文件,那么将包括字幕文件,以便你可以重新生成。

    Nuget:

    
    PM> Install-Package TypeScript.NET.Library
    
    
    
    

    数据驱动的单元测试

    mocha 测试已经针对核心功能和扩展所有的时间。 伊斯坦布尔用于代码覆盖率。 如果不合理,当前覆盖效果是好的。

    示例

    目前 单元测试 涵盖许多示例用法。

    文档

    目前,使用JSDoc风格注释和 TypeDoc 改善了时间。 查看文档:electricessence.github.io/TypeScript.NET/documentation

    文档有滞后于 behind的趋势,TypeDoc也滞后于更新。

    捐赠

    这个库具有巨大的潜力,通常是一个类,或者缺少的函数将会被添加。 如果你在GitHub上记录任何问题,他们很可能会迅速解决。 如果你有一个类或者 MODULE 你想看到集成,只需记录一个问题,开始讨论或者自由的请求。 : )

    讨论

    Join the chat at https://gitter.im/electricessence/TypeScript.NET

    Reddit

    TypeScript.NET 库

    .NETTypeScript

    学习,连接&发展

    将按以下步骤操作: 基础知识

    代码演化

    www.youtube.com/channel/UCG2QyAgVUEKSMBaC0Fkp5GQ

    单击要监视的图像 below。

    介绍 TypeScript.NET 库( 第 1部分)。

    Intro to TypeScript.NET Library (Part 1)

    发布信息/更新信息的TypeScript.NET 版本

    TypeScript.NET v3 Release Info/Update


    JAVA  Javascript  BASE  type  类型  友元  
    相关文章