zoukankan      html  css  js  c++  java
  • [TypeScript] Generating Definition Files

    TypeScript allows you to generate definition files for your own libraries. This lesson shows you how to organize your project and generate the definition files so that others projects can use your library with TypeScript.

    If you're writing a library and you want to generate your own definition files, just make sure and add declaration to your tsconfig:

    {
        "compilerOptions": {
            "rootDir": "src",
            "module": "commonjs",
            "target": "es5",
            "noImplicitAny": false,
            "sourceMap": false,
            "outDir": "./dist",
            "noEmitOnError": true,
            "experimentalDecorators": true,
            "emitDecoratorMetadata": true,
            "declaration": true
        },
        "exclude": [
            "node_modules",
            "typings/main",
            "typings/main.d.ts"
        ]
    }

    An error that will show up sometimes, it'll say you'll have a duplicate definition of app, so you want to make sure in your tsconfig you've excluded dist, so that you avoid having these duplicate definitions.

    {
        "compilerOptions": {
              ...
        },
        "exclude": [
            "node_modules",
            "dist",
            "typings/main",
            "typings/main.d.ts"
        ]
    }

    To let other people easily import your stuff, you can create a index.tx is dist:

    // index.ts
    
    export * from './main';
    export * from './interfaces';

    Export everythinig they need in index.ts file.

    So they can do:

    import  {App, Person, SocialNetwork} from 'Your-Lib'

    For typings, in package.json:

    "typings": "./dist/index.d.ts"

    that way, when that package gets added to typing and someone loads it up, they'll get this index file, and then they'll have access to everything off of how we structured our library.

  • 相关阅读:
    制作Elasticsearch的Parcel包和csd文件
    zabbix监控安装1
    linux官方源
    Nginx优化详解
    k8s-kubectl命令大全
    详解keepalived配置和使用
    keepalived工作原理和配置说明
    linux 内核参数优化
    批量更新软连接脚本
    Java 常用知识点汇总(数据类型之间转换、字符串的相关操作-截取、转换大小写等)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5582616.html
Copyright © 2011-2022 走看看