首页 > 解决方案 > 如何正确使用带有 flow 和 nodejs 的类型?

问题描述

如何使用 Flow 和 nodejs 制作以下用例?

要求:

  1. 在单独的文件中有类型定义,现在让我们说全部Types.js

  2. 在另一个文件/模块中使用它:

    const MyRequiredType = require('Types').MyRequiredType;
    const methodWithInputTypeCheck = function(request: MyRequiredType){ }
    

尝试使用flow-aliases,但这似乎只有在同一文件中有声明时才有效。

谢谢。

标签: javascriptnode.jsnode-modulesflowtype

解决方案


哦,看起来最后它要简单得多。

看起来我们可以使用标准。类:

1./类型.js

// @flow
const Types =
{
    SomethingWithUserRequest: class MyClass {
        userId: string;   //thanks to Babel
        userNick: string;
    }
};

module.exports = Types;

2./一些模块.js:

const SomethingWithUserRequest = require('../service/Dto/Types').SomethingWithUserRequest;

const TestFacade =
{
    testFlow: function(
        request: SomethingWithUserRequest
    ) {
        console.log('userId', request.userId);
    }
};

module.exports = TestFacade;

只有IDE还在迷茫中,并没有以这种方式提示。


推荐阅读