TypeScript AMD في WebStorm. خطأ مزعج "نوع التعبير المعين"
أحاول تجربة TypeScript في JetBrains WebStorm.
لدي فئة بسيطة جدًا في "person.ts":
export class Person {
constructor(public name:string, public age:number) {
}
toString() {
return this.name + ", " + this.age;
}
}
ثم، في ملف app.ts الخاص بي أحاول استيراده بهذه الطريقة:
import nsp = module("person");
export class App {
start() {
var my_user:nsp.Person;
my_user = new nsp.Person("Julian", 111);
console.log( my_user.toString() );
}
}
يبدو أن هذا يعمل. يمكنني استخدام tsc للترجمة إلى جافاسكريبت:
tsc --module AMD .\public\script\app.ts
وقد قمت أيضًا بإعداد مراقب ملفات لـ TypeScript في WebStorm. إنه على ما يرام.
لكني أتلقى هذا الخطأ/التحذير المزعج: "نوع التعبير المعين Person لا يمكن تعيينه إلى النوع exports.Person"
هل لديكم أي أفكار؟ هل أفعل شيئًا خاطئًا؟ هل هذه مشكلة في WebStorm؟
إليك مشروعي على GitHub: https://github.com/JulianG/typescript-modularization-demo/ في حال أردت تجربته.
الإجابة رقم 1
تم إصلاح هذا الخطأ في الإصدار القادم من WebStorm، ولكن في الوقت الحالي يمكنك إما تجاهل الخطأ أو دمج التعبير في سطر واحد ومعرفة ما إذا كانت استدلال الأنواع يساعد:
var my_user = new nsp.Person('Julian', 111);
الإجابة رقم 2
سيتم تضمين الإصلاح في الإصدار الصغير التالي أيضًا (6.0.2). من المحتمل أن يكون هذا قد حدث بسبب WEB-7117.
