Giter Site home page Giter Site logo

Comments (9)

k8w avatar k8w commented on May 2, 2024 1

可以,在 tsrpc.config.ts 中配置多个 proto 项即可。
每个 proto 项还可以配置 ignore 属性来忽略指定协议。

from tsrpc.

k8w avatar k8w commented on May 2, 2024 1

@themoonbear 参考:

export default <TsrpcConfig>{
    // Generate ServiceProto
    proto: [
        {
            ptlDir: 'src/shared/protocols', // Protocol dir
            output: 'src/shared/protocols/serviceProto.ts', // Path for generated ServiceProto
            apiDir: 'src/api',   // API dir
            docDir: 'docs',     // API documents dir
            ptlTemplate: { baseFile: 'src/shared/protocols/base.ts' }
        },
        {
            ptlDir: 'src/shared/protocols', // Protocol dir
            output: 'src/shared/protocols/serviceProto_partial.ts', // Path for generated ServiceProto
            ignore: ['src/shared/protocols/admin/**'],
            // 填写改字段,确保子 proto 与总 proto 兼容
            compatible: 'src/shared/protocols/serviceProto.ts'
        },

    ],
    // ...
}
  • 只需要一个 Server,实现 serviceProto.ts 主协议
  • 给前端可以共享 serviceProto_partial.ts

from tsrpc.

k8w avatar k8w commented on May 2, 2024 1

能否在同步的时候也过滤掉忽略的文件?

目前不行,需要后续版本优化,给 'copy' 类型的 'sync' 也增加一个 'ignore' 选项。
不过这块也要看看有没有好建议?有没有更优雅的 API 设计方式

from tsrpc.

k8w avatar k8w commented on May 2, 2024 1

也可以拆分为多个 config 文件:tsrpc-cli dev --config xxx.config.ts

from tsrpc.

themoonbear avatar themoonbear commented on May 2, 2024

可以,在 tsrpc.config.ts 中配置多个 proto 项即可。 每个 proto 项还可以配置 ignore 属性来忽略指定协议。

如果是分开配置proto文件的话,是不是就生成多个服务文件,这样一个server是不是就要针对不同的服务文件起多个服务?如果使用ignore的配置是不是服务文件里还是包含这个协议的,但执行同步的时候会忽略掉这个文件?另外配ignore是填文件名还是协议名?文件名的话需要填写路径吗?可以在案例中加个example吗?

from tsrpc.

themoonbear avatar themoonbear commented on May 2, 2024

@themoonbear 参考:

export default <TsrpcConfig>{
    // Generate ServiceProto
    proto: [
        {
            ptlDir: 'src/shared/protocols', // Protocol dir
            output: 'src/shared/protocols/serviceProto.ts', // Path for generated ServiceProto
            apiDir: 'src/api',   // API dir
            docDir: 'docs',     // API documents dir
            ptlTemplate: { baseFile: 'src/shared/protocols/base.ts' }
        },
        {
            ptlDir: 'src/shared/protocols', // Protocol dir
            output: 'src/shared/protocols/serviceProto_partial.ts', // Path for generated ServiceProto
            ignore: ['src/shared/protocols/admin/**'],
            // 填写改字段,确保子 proto 与总 proto 兼容
            compatible: 'src/shared/protocols/serviceProto.ts'
        },

    ],
    // ...
}
  • 只需要一个 Server,实现 serviceProto.ts 主协议
  • 给前端可以共享 serviceProto_partial.ts

协议OK了,在同步的时候,我用的拷贝方式,忽略掉的文件还是会拷贝过去,能否在同步的时候也过滤掉忽略的文件?

from tsrpc.

themoonbear avatar themoonbear commented on May 2, 2024

能否在同步的时候也过滤掉忽略的文件?

目前不行,需要后续版本优化,给 'copy' 类型的 'sync' 也增加一个 'ignore' 选项。 不过这块也要看看有没有好建议?有没有更优雅的 API 设计方式

同步的方式,软链感觉比较适合个人开发,不太适用团队开发,还有dev的配置目前只支持一个入口,如果多个服务的话,就用不了,只能像案例里那样用package来处理

from tsrpc.

k8w avatar k8w commented on May 2, 2024

dev 可以通过 tsrpc-cli dev --entry xxx.ts 来改变入口

from tsrpc.

themoonbear avatar themoonbear commented on May 2, 2024

dev 可以通过 tsrpc-cli dev --entry xxx.ts 来改变入口

是的,我说就是目前用这种方式来处理多个服务,但如果在tsrpc的配置文件里,对dev这个分段做多入口处理会好些,不然这个分段在多服务的时候就用不上了。

from tsrpc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.