ค้นหาเว็บไซต์

angular - typescript angular2.d.ts ข้อผิดพลาด "คาดหวังบรรทัดใหม่หรือเครื่องหมายอัฒภาค"


WebStorm10.0.2 ล่าสุดของฉันเกิดข้อผิดพลาดเกี่ยวกับ "angular2.d.ts" ว่า "คาดว่าจะมีบรรทัดใหม่หรือเครื่องหมายอัฒภาค" ในบรรทัดที่ 15-19 และบรรทัดที่ 32-37

ทีม Angular2 ทำผิดพลาดในตัวอย่างเริ่มต้น 5 นาทีหรือ? ฉันไม่อยากจะเชื่อเลย มันต้องเป็นความผิดของฉันแน่ๆ

ดังนั้น :

ฉันโคลนทีละขั้นตอนตาม "เริ่มต้นด่วน 5 นาทีของ Angular2" (https://angular.io/)

ฉันได้ย้าย 'index.html' และ 'app.ts' จาก 'complete' ไปยังเส้นทางฐานแล้ว

ฉันได้เปลี่ยนเวอร์ชันคอมไพเลอร์ WebStorm10.0.2 ของฉันไปยังไดเรกทอรีที่กำหนดเองซึ่งมีไฟล์ typescriptService.js

ยังไม่ทำงาน...

เวอร์ชันไทพ์สคริปต์ของฉันคือ 1.5Beta

interface List<T> extends Array<T> {
}
interface Type {}

declare module "angular2/angular2" {
  function bootstrap(appComponentType: any): void;
  function Component({
    selector,
    properties,
    hostListeners,
    injectables,
    lifecycle,
    changeDetection
    }:{
      selector:string,
      properties?:Object,
      hostListeners?:Object,
      injectables?:List<any>,
      lifecycle?:List<any>,
      changeDetection?:string
    });

  function View({
      templateUrl,
      template,
      directives,
      formatters,
      source,
      locale,
      device
    }: {
      templateUrl?: string,
      template?: string,
      directives?: List<Type>,
      formatters?: List<Type>,
      source?: List<any>,
      locale?: string,
      device?: string
    });
  function For();
  function If();
}

คำตอบ #1

ตรวจสอบเวอร์ชันของ tsc ของคุณผ่าน tsc -v บนบรรทัดคำสั่งและดูว่าผลลัพธ์คือ 1.5.0-beta หรือไม่ มีโอกาสว่าคุณกำลังใช้เวอร์ชันก่อนหน้าเนื่องจากคุณติดตั้งมากกว่าหนึ่งเวอร์ชันในระบบของคุณ (หนึ่งผ่าน npm และอีกเวอร์ชันอาจจะตอนที่คุณติดตั้ง Visual Studio)

ในการตรวจสอบเวอร์ชันที่ติดตั้งของ tsc (ถ้าคุณอยู่ในสภาพแวดล้อม Windows) ให้ใช้บรรทัดคำสั่งและพิมพ์ where tsc ผลลัพธ์จะเป็นรายการของไดเรกทอรี หากคุณมีไดเรกทอรีมากกว่า npm ให้ไปที่ตัวแปรระบบ Path ของคุณและลบออก

อย่าลืมเปิดพรอมต์คำสั่งใหม่เพื่อทดสอบ tsc อีกครั้ง เพราะตัวแปรเส้นทางเก่าไม่รีเฟรชสำหรับพรอมต์คำสั่งที่เปิดอยู่แล้ว

คำตอบ #2

ฉันกำลังใช้ WebStorm 10.0.4 ซึ่งถูกตั้งค่าด้วย TypeScript 1.4 เป็นค่าเริ่มต้น ซึ่งก่อนหน้านี้มันแสดงข้อผิดพลาดประเภท "missing semicolons" จนกระทั่งฉันได้เปลี่ยนการตั้งค่า WebStorm ให้ใช้ TypeScript 1.5 beta ซึ่งอยู่ใน Preferences -> Languages and Frameworks -> TypeScript -> Compiler version