导出的函数在TypeScript中的if语句中不起作用

时间:2017-10-18 12:29:37

标签: javascript typescript

我有一个函数(getLocalSecurity),它从命令提示符获取一个参数并返回boolean,如下所示:

server.ts:

    import { getDataService } from './service';
    import { getInternalService } from './internal/service';
    import { ServiceFactory } from './services/serviceFactory';

    import { loggers } from 'winston';

    const LOG = loggers.get('server');

    const mainApp = getDataService();

    const cla = require('command-line-arguments');

    const params = cla.getCommandLineArguments();

    export function getLocalSecurity(): boolean {
        return params.LOCAL_SECURITY;
    }

    LOG.info('Starting server on port 9090...');

在我要使用的另一个typeScript文件中:

import {getLocalSecurity} from './server';

if (getLocalSecurity()) {
    console.log('access denied', getLocalSecurity());
    return Promise.resolve({});
}

当我在命令提示符中使用以下句子时,getLocalSecurity在 console.log 中为false,但在 if 条件下为true。 问题是什么?我该如何解决?

npm run start  --- LOCAL_SECURITY -false

1 个答案:

答案 0 :(得分:0)

return不是布尔值,它是一个字符串,我不知道为什么!!!!!!! 如果条件我们必须使用以下内容:

if (getLocalSecurity() === 'false')....