2017-12-25 13 views
2

Angular 5.0.0 CLIプロジェクトでJavaScriptファイルをコンパイルする際に問題があります。Angular 5 CLIプロジェクトでJavaScriptファイルをコンパイルする

私は、次の手順を行っております:

  • (新しいTEST2をNG)、空のCLI(1.6.2)プロジェクトを作成します。プロジェクトは正常に動作します。 appフォルダ内
  • ;真、コンパイルする/バンドルJavaScriptファイル
  • シンプルなJavascriptのファイルを作成します(i = 1からコンテンツを例えばtest.js):
  • allowJsは、「行を含むように修正tsconfig.json。
  • ビルドは以下のエラーで角度5で失敗した。角度4 JSファイルで
    "ERROR in error TS5055: Cannot write file 
    '/Users/user/Documents/workspace/test2/src/app/test.js' because it would 
    overwrite input file. Adding a tsconfig.json file will help organize 
    projects that contain both TypeScript and JavaScript files. Learn more at 
    https://aka.ms/tsconfig." 
    

    が指定した出力ディレクトリにコンパイルされ

角度5エラーoutDirパラメーターで指定し、最終バンドルに含めます。

NGの--versionは、次のことを与えている:

Angular CLI: 1.6.2 
Node: 6.10.0 
OS: darwin x64 
Angular: 5.1.2 
... animations, common, compiler, compiler-cli, core, forms 
... http, language-service, platform-browser 
... platform-browser-dynamic, router 

@angular/cli: 1.6.2 
@angular-devkit/build-optimizer: 0.0.36 
@angular-devkit/core: 0.0.22 
@angular-devkit/schematics: 0.0.42 
@ngtools/json-schema: 1.1.0 
@ngtools/webpack: 1.9.2 
@schematics/angular: 0.1.11 
@schematics/schematics: 0.0.11 
typescript: 2.4.2 
webpack: 3.10.0 

OUTDIRがTSconfigの中tsconfig.jsonと "../out-tsc/app" の "./dist/out-tsc" に設定されています.app.json。

誰もが考えています。 よろしくお願いいたします。 Dave

答えて

0

提供されたエラーメッセージにエラーがあります。

エラーTS5055で「ERROR:。。それは 入力ファイルを上書きしてしまうためは、ファイル'**/*.js'を書き込むことができません tsconfig.jsonファイルが両方の活字体とJavaScriptファイルが含まれている プロジェクトを整理するのに役立ちます追加 ​​3210で詳細をご覧ください"

あなたのビルドプロセスが*.jsファイルに*.tsファイルをコンパイルしようとしているように見えますが、ファイルがすでに存在するため、ファイルを書き込むことはできません。

ビルドプロセスの前に、まず配布可能ディレクトリからビルドファイルをクリアするだけです。


アドバイス
厄介かつ望ましくないことができ、あなたのsrc/に直接*.jsファイルをダンプしているようです。

より良い解決策は、コンパイルされたビルドファイルを含む/distディレクトリを生成することです。

0

最近この問題に遭遇しました。私は解決策があると思います。

    は、最新バージョン( 5.1)へのあなたの角度をアップグレードし
  1. :開始するには

    。あなたはおそらくあなたの設定ファイルにallowJs: trueが必要

  2. から
  3. は(ない 5.*執筆時点のように、 4.*)サポートされている最新バージョンに活字体をアップグレードし

実行ng serve --aotまたはng build --watch=auto --aot上記のエラーが表示され、サイトにアクセスできない。

アプリの一部である.tsファイルの1つを開き、小さな変更(1つのスペースの追加など)を行ってからファイルを保存します。

アプリをコンパイルする必要があります。

--watch=auto--aotフラグが私の知る限り、この問題を回避するために重要である)

関連する問題