2017-08-23 1 views
0

Ich habe dieses Tutorial für NativeScript gefolgt, aber es gibt mir einige Fehler."Nicht abgeschlossen String String-Fehler" in NativeScript TypeScript app.component.ts

Hier ist meine app.component.ts Datei:

import { Component } from '@angular/core'; 

@Component ({ 
    selector: 'my-app', 
    template: ' 
    <ul> 
     <li><a [routerLink] = "['/Product']">Product</a></li> 
     <li><a [routerLink] = "['/Inventory']">Inventory</a></li> 
    </ul> 
    <router-outlet></router-outlet>' 
}) 
export class AppComponent { } 

Ich verwende Atom mit Typoskript-Plugin, und wenn ich über den template: schweben es sagt mir, dass es vom Typ ist (property) template: boolean die merkwürdig erscheint. Wenn ich versuche, den HTML-Code auf eine einzelne Zeile zu setzen, sagt er mir, dass es eine Zeichenfolge ist, fast so, als würde es die Tatsache nicht mögen, dass die Vorlage mehrere Zeilen hat.

Wie auch immer, ich bin ziemlich neu in NS, ich möchte nur durch dieses Tutorial Fortschritte machen, so dass es etwas offensichtlich sein kann. Ich habe den Code überprüft, der mir sagt, dass ich genau kopieren soll, aber ich kann nicht sehen, was falsch ist. Unten ist der Fehler, den ich zu sehen bin, wenn ich die App versuchen zu laufen:

$ npm start 

> [email protected] prestart /Users/mb102/Angular-Projects/Demo 
> npm run build 


> [email protected] build /Users/mb102/Angular-Projects/Demo 
> tsc -p src/ 

src/app/app.component.ts(5,15): error TS1002: Unterminated string literal. 
src/app/app.component.ts(7,27): error TS1005: '>' expected. 
src/app/app.component.ts(7,43): error TS1005: ':' expected. 
src/app/app.component.ts(8,27): error TS1005: '>' expected. 
src/app/app.component.ts(8,45): error TS1005: ':' expected. 
src/app/app.component.ts(9,5): error TS1110: Type expected. 
src/app/app.component.ts(9,6): error TS1161: Unterminated regular expression literal. 
src/app/app.component.ts(10,20): error TS1110: Type expected. 
src/app/app.component.ts(10,21): error TS1161: Unterminated regular expression literal. 

npm ERR! Darwin 16.7.0 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build" 
npm ERR! node v6.11.0 
npm ERR! npm v3.10.10 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] build: `tsc -p src/` 
npm ERR! Exit status 2 
npm ERR! 
npm ERR! Failed at the [email protected] build script 'tsc -p src/'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the angular-quickstart package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  tsc -p src/ 
npm ERR! You can get information on how to open an issue for this project with: 
npm ERR!  npm bugs angular-quickstart 
npm ERR! Or if that isn't available, you can get their info via: 
npm ERR!  npm owner ls angular-quickstart 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /Users/mb102/Angular-Projects/Demo/npm-debug.log 

npm ERR! Darwin 16.7.0 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start" 
npm ERR! node v6.11.0 
npm ERR! npm v3.10.10 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] prestart: `npm run build` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] prestart script 'npm run build'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the angular-quickstart package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  npm run build 
npm ERR! You can get information on how to open an issue for this project with: 
npm ERR!  npm bugs angular-quickstart 
npm ERR! Or if that isn't available, you can get their info via: 
npm ERR!  npm owner ls angular-quickstart 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /Users/mb102/Angular-Projects/Demo/npm-debug.log 
+5

Es sieht so aus, als ob Sie 'anstelle von' für die Vorlageneigenschaft verwenden. – toskv

+0

Strings in TypeScript/JavaScript sind nicht mehrzeilig. Wenn Sie das Angebot öffnen, müssen Sie es in derselben Zeile schließen. Um die Zeichenfolge über mehrere Zeilen zu verteilen, müssen Sie eine Gruppe von Zeichenfolgen miteinander verketten. Oder Sie können Vorlagenliterale verwenden. https://stackoverflow.com/questions/805107/creating-multiline-strings-in-javascript – Amy

Antwort

0

Der Wert, den Sie die template Eigenschaft zuweisen werden, ist ein Multi-Line-String. Das sind nicht zulässig in Typescript. Es ist normalerweise keine gute Idee, Zeichenfolgen länger als 140 Zeichen zu haben (Sie können die wunderbare tslint verwenden, um Ihnen dabei zu helfen), also ist es besser, die Vorlage in die HTML-Datei zu legen.

Wenn Sie es dennoch in der Datei behalten möchten, müssen Sie das Zeichen `(backtick - alt + 0096 on windows) verwenden, um die Zeichenfolge anstelle des '(Anführungszeichen) zu begrenzen.

Verwandte Themen