2013-07-14 3 views
6

Ich mag decodeUrl(...) anrufen und ich tat es als:Wo ist `dart: uri` jetzt?

import "dart:uri"; 

main() { 
    decodeUrl("str"); 
} 

Aber jetzt mit dem neuesten Dart-SDK, es berichtet:

Do not know how to load 'dart:uri' 
import 'dart:uri'; 
^ 

scheint es aus dem SDK entfernt wurde. Ich habe viel gesucht, weiß aber immer noch nicht wo es jetzt ist. Wie verwende ich jetzt das decodeUrl(...) mit dem neuesten SDK?

Antwort

4

Von Dart Ankündigungen von neuen Releases, brechen Änderungen und andere wichtige Neuigkeiten.

Bibliothek Dart: URI entfernt und Klasse Uri zum Kern hinzugefügt.

Die Bibliothek Dart: URI wurde entfernt.

Was hat sich geändert?

Die Bibliothek Dart: URI wurde entfernt. Die Klasse Uri befindet sich jetzt in der core library. Die encodeUriComponent, enocdeUri, decodeUriComponent, decodeUri Top-Level-Funktionen aus dart:uri wurden statische Methoden bewegen Uri.encodeComponent, Uri.enocdeFull, Uri.decodeComponent, Uri.decodeFull.

Der Konstruktor Uri.fromComponents hat nur Uri und der vorherige Uri Konstruktor umbenannt hat eine URI-Zeichenfolge nehmen ist nicht mehr verfügbar, aber mit einem Aufruf der statischen Methode Uri.parse ersetzt werden.

Schließlich wurde die Behandlung von Leerzeichen zu Plus und Plus zu Leerzeichen-Codierung/Decodierung von Uri.encodeComponent und Uri.decodeComponent entfernt. Um diese Kodierung/Dekodierung zu erhalten, verwenden Sie die hinzugefügten statischen Methoden Uri.encodeQueryComponent und Uri.decodeQueryComponent.

Außerdem hat die Uri-Klasse zusätzliche Funktionen. Sehen Sie die Änderung und den Dartdoc für mehr Information.

Der Dartdoc für die Klasse Uri wird in den nächsten Tagen verbessert werden.

Wer ist betroffen?

Benutzer von dart: uri.

Wie aktualisiere ich meinen Code?

Ändern Sie die Verwendung von new Uri(...) zu Uri.parse(...)

Änderung den Einsatz neuer Uri.fromComponents(...)-new Uri(...)

ändern Anrufe von encodeUriComponent, enocdeUri, decodeUriComponent, decodeUri, um Anrufe zu Uri.encodeComponent, Uri.enocdeFull, Uri.decodeComponent, Uri.decodeFull.

Schließlich überprüfen Sie die Tatsache, dass encodeUriComponent und decodeUriComponent Raum in Plus und Plus in den Raum geändert. Wenn ja, verwenden Sie Uri.encodeQueryComponent und Uri.decodeQueryComponent anstelle von Uri.encodeComponent und Uri.decodeComponent

+1

Sehr gut! Wo haben Sie die Informationen gefunden? Kannst du mir eine URL zeigen? – Freewind

+0

Mailingliste: [[email protected]] (https://groups.google.com/a/dartlang.org/forum/?fromgroups#!forum/announce). Post: [BREAKING CHANGE: Bibliotheksdart: URI wurde entfernt und Uri wurde zum Kern hinzugefügt] (https://groups.google.com/a/dartlang.org/forum/?fromgroups#!topic/announce/pHyoawHOhU0) – mezoni