私はNode.jsの初心者です。
パッケージをインストールするたびに、次のようにします
"npm install -g package-name"
私のノードアプリケーション内で見たものは、「node_modules」というディレクトリが作成されており、インストールされているすべてのモジュールがそこにあります。
それから、フロントエンドjavascirpt単体テストのテストを自動化するために「うなり声」を使いたいです。
そして、インストール用のコマンドを実行しました "npm install -g grunt"
しかし、テストディレクトリ内に移動し、うなり声を実行すると、 "Fatal error: Unable to find local grunt."
しかし、「test」ディレクトリ内にインストールすると、正常に機能します。
以下のような私のプロジェクト構造:
-backend
-tests
-model
-node_modules
-package.json
-others
-frontend
-tests
-js
-package.json
-node_modules
-others
単一のpacakge.jsonからノードパッケージを管理し、フロントエンドとバックエンドでテストを個別に実行するにはどうすればよいですか?このようなことを行うための最適化された方法は何ですか?
前もって感謝します。
回答:
回答№1は0ザ -g
npmのフラグはモジュールをグローバルにインストールします-これは次のようなものです grunt
CLIツールとして動作しますが、依存関係のために、おそらくそれらをインストールするだけです node_modules
で定義されたフォルダ package.json
.
フロントエンドモジュールをブラウザ化していますか? ほとんどの場合、フロントエンドとバックエンドの両方に同じ依存関係セットを持たせたくないので、別々のpackage.jsonマニフェストを保持するのが最善です。あなたのフロントエンドモジュールは単にうんざりするタスクですか?ランニング grunt
いずれか frontend
または backend
ディレクトリはそこでのみgruntfileを呼び出します。
これらの2つのディレクトリを分けておくと、将来の頭痛の種が大幅に減ります。