1

Dart Editor 0.3.7_r18717 を使用しています (エディターが最新 (2013 年 2 月) であることを意味します)

import 'dart:intl';

「参照元ソースが見つかりません」というエラーが表示される

pub経由でパッケージをインポートする場合

import 'package:intl/intl.dart';

次に、JS dart2js へのコンパイルがいくつかの奇妙なエラーで失敗します...

私が欲しいのは、単に次のようなものです:

final String time = new DateFormat("HH:mm:ss","de").format(new DateTime.now());

そのような場合にロケールが必要な理由はまったく明らかではありません...

どうも

[更新]
OK - 「奇妙なエラー」は何の意味もないことを知っています - したがって、次の2つのパッケージをインポートした場合の出力は次のとおりです。

import 'package:intl/date_symbol_data_local.dart';
import 'package:intl/intl.dart';

String getTime() {
    final String time = new DateFormat("HH:mm:ss","en_US").format(new DateTime.now());
    //final String time = "20:05:00";
return time;
}

出力:

dart2js を実行しています...
スナップショットの使用 /Developer/dart/dart-sdk/lib/_internal/compiler/implementation/dart2js.dart.snapshot
/Users/mikemitterer/dart/WebSockets.SAMPLE/web/out/jrelaisui.html_bootstrap.dart.js を書きました [410.0kb 5.3秒で書きました]
build.dart --machine --changed=web/jrelaisui.dart
ファイル:/Users/mikemitterer/dart/WebSockets.SAMPLE/build.dart
build.dart がエラー コード 255 を返しました

キャッチされないエラー: NoSuchMethodError: メソッドが見つかりません: '_addFromInteger@0x36924d72'
受信者: null
引数: [80]
スタックトレース:
    #0 Object.noSuchMethod (dart:core-patch:1737:25)
    #1 int.+ (dart:core-patch:1324:33)
    #2 Parser.translateCharacter (パッケージ:analyzer_experimental/src/generated/parser.dart:4380:167)
    #3 Parser.computeStringValue (パッケージ:analyzer_experimental/src/generated/parser.dart:376:33)
    #4 Parser.parseStringLiteral (パッケージ:analyzer_experimental/src/generated/parser.dart:3451:76)
    #5 Parser.parsePrimaryExpression (パッケージ:analyzer_experimental/src/generated/parser.dart:3163:32)
    #6 Parser.parseAssignableExpression (パッケージ:analyzer_experimental/src/generated/parser.dart:837:51)
    #7 Parser.parsePostfixExpression (パッケージ:analyzer_experimental/src/generated/parser.dart:3061:51)

...

出力 - ソースのクリーンアップ:

build.dart --machine --clean
ファイル:/Users/mikemitterer/dart/HelloWebComponent/build.dart
build.dart がエラー コード 255 を返しました

'package:html5lib/src/encoding_parser.dart': エラー: 行 65 位置 14: クラス 'EncodingBytes' は、スーパー クラス 'Iterable' の関数 'skip' を互換性のないパラメーターでオーバーライドします
  文字列skip([CharPreciate skipChars]) {
             ^

build.dart --machine --clean
ファイル:/Users/mikemitterer/dart/todomvc/build.dart
build.dart がエラー コード 255 を返しました

'package:html5lib/src/encoding_parser.dart': エラー: 行 65 位置 14: クラス 'EncodingBytes' は、スーパー クラス 'Iterable' の関数 'skip' を互換性のないパラメーターでオーバーライドします
  文字列skip([CharPreciate skipChars]) {

...

それが「奇妙な」という意味です:-)

4

2 に答える 2

2

パッケージの構文は正しいものです。これは機能するはずです:

import 'package:intl/date_symbol_data_local.dart';
import 'package:intl/intl.dart';

main() {
  print(new DateFormat.yMd().format(new DateTime.now()));
}

あなたが話している「奇妙なエラー」は何ですか?

于 2013-02-22T21:48:36.533 に答える
0

import "dart:intl"; これは「コア」ダートライブラリの1つではないため、インポートできません。パッケージとしてインポートする必要があります。dart2jsにリストしているエラーは、国際化コードからではなく、web_uiおよびanalyzer_experimentalパッケージから発生しているように見えます。国際化を使用する行をコメントアウトし、dart2jsを使用してコンパイルするとどうなりますか?

于 2013-02-24T20:26:14.857 に答える