参数类型" X"不能分配给参数类型" Y"

时间:2014-03-20 13:37:59

标签: node.js typescript webstorm modular-design

我遇到了webstorm IDE的问题。似乎webstorm总是在IDE中显示无效参数的错误,但是typescript编译器没有显示这样的错误;我开始相信这个问题与IDE有关。

我有以下存储库:https://github.com/danielmahadi/modular-typescript

有4个打字稿文件:

  • customerModel.ts =>客户模型文件

    export class User{
        constructor(public id: string, public name: string){}
    }
    
  • converter.ts =>将json数据转换为客户模型

    import model = require('./customerModel')
    
    export function convertToUser(data: any) : model.User {
        return new model.User(data.id, data.name);
    }
    
  • printer.ts =>将客户模型打印到控制台

    import model = require('./customerModel')
    
    export function print(data : model.User) : void {
        console.log('PRINTING...');
        console.log(data);
    }
    
  • app.js =>该应用程序的入口点。

    import converter = require('./converter');
    import printer = require('./printer');
    
    var d = {
        id: '123', name: 'Test'
    }
    
    var user = converter.convertToUser(d);
    printer.print(user);
    

环境:

  1. webstorm 7.0.3,内部版本号:WS-133.434
  2. Mac OSX with Maverick
  3. 打字稿版本:0.9.5.0
  4. 打字稿的打字稿文件观察器设置:

    • Typescript编译器=> tsc --module commonjs --sourcemap $ FileName $

    如果你用webstorm IDE打开它,你会看到在app.ts第15行,“user”总是用红线加下划线,错误是“Argument type”./customerModel'.User是不能分配给参数类型model.User“

    这就是错误:

    之前还有其他人遇到过这个吗?我做错了什么,或者这只是另一个网络风暴错误?

2 个答案:

答案 0 :(得分:2)

Webstorm中肯定是一个错误。如果您在此处报告,我将不胜感激:http://youtrack.jetbrains.com/issues/WEB并提供一个链接,以便我们对其进行投票。

答案 1 :(得分:1)

请尝试WebStorm 8 EAP - 该错误似乎已修复