0

Dart コードの次の行は、ターミナルから実行した場合は既存のファイルに true を示しますが、IntelliJ または WebStorm から実行した場合は false を示します。誰かがターミナルの実行と同じ結果を返すようにアイデアエディタを設定する理由と方法を説明できますか?

bool pathExists(String path) => new File(path).existsSync();

アップデート

いじくり回した後、「オープンディレクトリ」を使用してWebStorm 5でプロジェクトを作成すると、すべて(WebStorm、IntelliJ、およびターミナル)で正常に機能することがわかりました。問題は、IntelliJ 12 でプロジェクトを作成しようとするときです。Java プロジェクトを作成しようとしているように見えるオープン ディレクトリに相当するものはないようです。現時点では、WebStorm は Dart アプリケーションをゼロから作成するためのサポートが優れているようです。 手順については、以下の回答を参照してください。

4

2 に答える 2

2

あなたは本当にプログラム全体それをどのように実行するかを示すべきです。そして、関数に相対パスを渡し、IntelliJ とは異なるディレクトリからプログラムを実行していると思います。

この Dart プログラムがあるとしましょう:

import 'dart:io';

bool pathExists(String path) => new File(path).existsSync();

main() {
  print(pathExists('books.txt'));
}

このプログラムは、ファイルが現在のディレクトリにtrue存在する場合に出力します。たまたまホームディレクトリにそのようなファイルがあるので、そうするとbooks.txt

ladicek@argondie:~$ dart check_file.dart

明らかに印刷されますtrue。しかし、別のディレクトリから同じプログラムを実行するとfalse、確実に出力されます。そして、それはおそらくあなたの場合に起こることです。

IntelliJ で実行/デバッグ構成を確認する必要があります。これにより、プログラムが開始されるディレクトリを構成できます。

于 2012-12-23T10:42:19.923 に答える
1

@CrazyCoder のコメントに従ってください:

新しいプロジェクトを作成

それから

静的 Web/Web モジュール

でフォルダを選択します

プロジェクトの場所

次に展開します

その他の設定

そして最後にそれを確認してください

モジュール ファイルの場所

main() dart ファイルがある場所に設定されます。デフォルトでは、コンテンツ ルートに設定されています。

Open Directoryと同じ効果があります。私はそれを試してみましたが、うまくいきます。

于 2012-12-25T03:38:45.393 に答える