2017-11-05 6 views
3

ほとんどのpackage.jsonはdevDependencyリストにwebpackbabelを持っています。したがって、これらのパッケージを使用するためにこれらが必要ない場合は、プロジェクトがそのパッケージをインストールする前に、これらのdevDependenciesを使用する必要があります。これはいつ起こるのですか?それは下のステップのいずれかのように見えますか?devDependenciesでNPMパッケージをデプロイすると、いつビルドが行われますか?

  1. 展開パッケージ
  2. パッケージが構築されます依存関係と一緒に
  3. バンドルは、オンライン
  4. NPMが$パッケージをインストールするホストされている唯一のバンドルと依存関係

OR

  1. を取得しますパッケージを展開する
  2. 依存関係とdevDependenciesとともに
  3. パッケージはdevDependenciesは全く絵になっていない場合は、パッケージをビルドすると、得られるバンドルは、依存関係

と一緒にダウンロードされますが発生します$パッケージを

  • NPMをインストールし、オンラインでホストされていますどのようにWebpackとBabelに依存してes5にes6をトランスコンパイルするパッケージは、es5だけのプロジェクトで動作しますか?

  • 答えて

    1

    あなたの答えを教えてください。依存関係について話すことができます

    babelは最新のes6の非計算コードをnode.jsの非計算コードに変換するために使用します。 は、開発サイクルでのWebpackの使用と同じ方法です。

    開発コードを容易にするために開発時に使用されます。

    あなたの質問回答をしてください。

    これらのdevDependenciesは、プロジェクト がそのパッケージをインストールする前に使用する必要があることを意味する必要がありますか?

    はいパッケージは開発者によって開発されたときに使用されます。

    これはいつ発生しますか?

    誰かがパッケージを開発したとき。たとえば、プロジェクトを作成し、開発過程でjsミニファイアをインクルードするjsファイルを縮小したいとします。

    次のいずれかの手順のようですか?

    deploy package (create a package) 
    package gets built 
    bundle along with dependencies are hosted online 
    npm install $package will only get bundle and dependencies 
    
    +0

    パッケージをインストールすると、そのパッケージのソースコードをnode_moulesに置くことはありませんか?あなたは完成した製品だけを入手します。これはビルドですか? – stackjlei

    +0

    あなたが得るものがビルドであれば、なぜそこに依存関係が必要なのでしょうか?ビルド自体がすでに正しく使用できる状態になっていますか? devDependenciesと依存関係の両方で構築されているので、それらの依存関係は、パッケージのnode_modulesにインストールする必要はありません。 – stackjlei

    1

    特定のライブラリを変更するにはDev依存関係が必要ですが、ライブラリを使用する必要はありません。ライブラリメンテナーがライブラリをnpmにアップロードすると、まずこれらのdev依存ファイルを使用してライブラリをビルドし、ビルドされたファイルをアップロードします。ライブラリを使用するためにdevの依存関係を必要としないので、メンテナは既にこのビルドを行いました。

    +0

    どのようにライブラリを変更するために対を使用する必要があるかわかりますか?たとえば、反応は依存関係ですが、それはなぜ依存関係ではありませんか?それは使用されているパッケージの最終ビルドをビルドするために使用されていませんか? – stackjlei

    関連する問題