2017-12-21 14 views
2

私はパターンラボedition-node-gulpをセットアップしており、NPMを使用してjQuery、D3などのUI依存関係を管理したいと考えています。パターンラボは、「ソース」フォルダで開発が行われるように設定されています。このフォルダは、「パブリック」フォルダに準拠して移動されます。パブリックフォルダのルートは、サービスされるとアプリケーションのルートになります。2番目のpackage.jsonを持つパターンラボ

現在、jQueryなどのアセットを手動で追加しています。パターンラボノードのすべてを実行するために使用されるpackage.jsonファイルのjQueryなどの依存関係を管理するのは素晴らしいことだと思いますが、node_modulesフォルダはパブリックの外に存在するため、ライブアプリケーションでは参照できません。

これまでのところ、私は2つの選択肢を持っていることを思わ:

  1. はそのまま続行し、これらの資産のためのパッケージ管理を忘れてしまいました。
  2. jQueryなどのPublicの中に2番目のpackage.jsonを作成します。これはうんざりです。

2番目のpackage.jsonを作成していますか? 他のオプションを検討していませんか?

答えて

0

2番目のpackage.jsonを作成することはそれほど悪くありません(あなたが何をどのようにやっているのか分かっているとき)。しかし、あなたの特別なケースでは、最良のシナリオではありません。なぜなら、より良い選択肢があるからです。

何が問題ですか?ビルド出力にアセットを追加する。だから、あなたは何ができるか:

  1. npm installを通じて資産をインストールし、出力ディレクトリにファイルをコピーするgulpfile.jsを適応させるオリジナルのpackage.json
  2. に保存します。

第二段階のステップでは、それはまた、簡単なpackage.json scripts変化(buildスクリプトを追加)に置き換えることができ、問題/あまりにもハックの場合:

"scripts": { 
    "gulp": "gulp -- ", 
    "build": "npm run gulp && cp -R node_modules/jquery/dist/blablabla.js mypublicdir/blablabla.js" 
}, 

、その後npm run buildとしてそれを実行します。 Windowsをサポートする必要がある場合はcpの代わりにhttps://www.npmjs.com/package/cp-cliを使用できます。

+0

返信いただきありがとうございます。オプション2で提案したように、node_modulesフォルダをPublicディレクトリにコピーすることにしました。コピーを実行するためにpackage.jsonにスクリプトを追加しました。 Patternlabには多くの依存関係があるため、初めてコピーするには時間がかかりますが、チームメイトと私はすべてこれが最も簡単な方法であり、混乱を招く可能性が最も低いと判断しました。 –

関連する問題