• [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.

  • 相关阅读:
    css3动画入门transition、animation
    vue入门教程 (vueJS2.X)
    web前端开发 代码规范 及注意事项
    树莓派 mongodb 安装&报错处理
    mongodb Failed to start LSB: An object/document-oriented dat
    js实现replaceAll功能
    mac for smartSVN9 (8,9)破解方法 附smartSvn_keygen工具图文
    js可视区域图片懒加载
    Hibernate基础知识
    Hibernate缓存策略
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5582616.html
Copyright © 2020-2023  润新知