2017-09-01 6 views
0

私はangular2で小さなWebアプリケーションを構築していますが、それはナビゲーションバーのブートストラップです。ある日、すべて正常に動作します(私のナビバーが見えるようになっています)。先日別のマシンで私のレポを複製しています。npm installng serveを実行して、いくつかのコンポーネント/サービスを追加して突然サイトが読み込まれなくなり、ブラウザ(コンパイルががエラーなしで成功)でスタックトレース:一度、エラーを見た後"fs.existsSyncは関数ではありません"関連するものは何も触れていません

Uncaught TypeError: fs.existsSync is not a function 
    at devmode.js:33 
    at Object.<anonymous> (devmode.js:34) 
    at Object.__webpack_require__.constructor.oneshot.fn (devmode.js:34) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at Object.<anonymous> (http.js:32) 
    at Object.<anonymous> (http.js:567) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at Object.<anonymous> (index.js:29) 
    at Object.<anonymous> (index.js:255) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at Object.171 (quote.service.ts:7) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at Object.170 (routing.module.ts:37) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at Object.90 (best.component.ts:8) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at Object.168 (app.component.ts:8) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at Object.157 (src async:7) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at Object.342 (main.bundle.js:549) 
    at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52) 
    at webpackJsonpCallback (bootstrap 5d37cea67e603e9113e4:23) 
    at main.bundle.js:1 
(anonymous) @ devmode.js:33 
(anonymous) @ devmode.js:34 
__webpack_require__.constructor.oneshot.fn @ devmode.js:34 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
(anonymous) @ http.js:32 
(anonymous) @ http.js:567 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
(anonymous) @ index.js:29 
(anonymous) @ index.js:255 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
171 @ quote.service.ts:7 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
170 @ routing.module.ts:37 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
90 @ best.component.ts:8 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
168 @ app.component.ts:8 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
157 @ src async:7 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
342 @ main.bundle.js:549 
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52 
webpackJsonpCallback @ bootstrap 5d37cea67e603e9113e4:23 
(anonymous) @ main.bundle.js:1 

私は&プルを押した場合に明らかに何もコンテンツ関連のロジックその外に変化していないけれども、私は、あまりにも他のマシンが表示されます追加した。

これまでの研究では、私が使用していない電子、または私がやっていないファイルシステムの操作に関する質問がほとんどです。私はここで何かを見逃していますか?

私はすでにnpm iを再実行node_modules &の削除などの通常の回避策をした、私はNPMバージョン5.4.0および8.4.0ノード上だと私はWebStorm-IDEの現在のバージョンを使用します。

+2

問題は、ブラウザに展開するときに 'fs'が存在しないことです。ブラウザはファイルシステムにアクセスできません。ノード環境では、 'fs'しか実行できません。 – Li357

+0

@AndrewLi彼は角型CLIで彼のアプリケーションを構築しようとしているので、彼は実際にノード環境にいます –

+0

角型CLIを最新版 –

答えて

0

同じコードベースが正常に機能していて、後で失敗する場合:NPMパッケージの実際のバージョンがどちらの場合にもインストールされているようです。例えば

  • 私はNPMパッケージを使用し、私は~3.1.0としてそれを使用package.jsonでバージョン3.1.0
  • specialPackageを言います。
  • 翌日、specialPackageの著者一部破壊変更
  • で新しいパッチ(3.1.1)をリリースし、私はこの日に別のマシン上で私のアプリを試してみました。同じpackage.json3.1.0の代わりに3.1.1をインストールします。
  • サードパーティのNPMパッケージに問題がある場合、アプリが停止する可能性があります。

これをどのように修正できますか?

  • NPM < 5.0:一つの方法は、常にpackage.json
  • NPM> = 5.0で~または^せずに、正確なNPMパッケージのバージョンを使用することです:新しいpackage-log.jsonファイルが生成されます。これを私たちのリポジトリに追加する必要があるので、期待したNPMパッケージの正確なバージョンが必要です。

あなたがNPM >= 5.0を使用している言ったように、あなたがリポジトリで利用できるpackage-lock.jsonpackage-lock.jsonが細かい実行中のアプリケーションで作成された場所)

  • ない場合がありますか、

    • を試すことができます他のコンピュータからpackage-lock.jsonをコミットしてもう一度やり直してください。npm i
    • 正確なNPMパッケージのバージョンをtで試してみてください彼はpackage.json(すべて~sと^sを取り除くことによって)。
    • 両方のコンピュータで同じバージョンの@angular/cliグローバルパッケージを使用していますか?
  • +0

    私は、アプリがまだ動作していたコミットに戻り、分岐し、アプリが壊れるまでいくつかの変更を行い、次に両方のブランチのpackage-lock.jsonファイルを比較しました。 :/ – Aarkon

    +0

    今私はさらに悪いことを観察しました:私はコンパイルされたウェブサイトの読み込みを常に見ているかどうか、いくつかの仕事をします。私は急な変化が起こったら、私の最後の行動を取り消し、再び保存して、それを見ます。/o \ – Aarkon

    関連する問題