skillup

技術ブログ

JavaScript

npmコマンドの整理

投稿日:2018年11月19日 更新日:

npmのコマンドのまとめに関して。

npmとは?

nodeによるライブラリのパッケージ管理の手法。PHPでいうcomposer。composerがcomposer.jsonで管理するのと同様。package.jsonというファイルで依存ライブラリを管理する。

インストールされた記録などはpackage-lock.jsonに記録される。

よく使うコマンド

npm init -y

package.jsonをディフォルトで生成するコマンド。

npm install パッケージ名(npm -i パッケージ名)

パッケージのインストール。これをすることで./node_modules以下にライブラリがインストールされる。npm install パッケージ名@バージョンなどの指定もできる。

以下はオプション

-g

通常はカレントディレクトリ以下に有効だが、-gのオプションはグローバル(環境全体になる)にインストールされる。(ホームディレクトリに./node_modulesがインストールされる)

–save-dev(-D)

サイトの開発時のみ必要な場合はこのオプションが必要になる。主に他の人間がnpm installをした時にこのライブラリが読み込まれるかどうかが変わってくる。

勉強メモ/npmの使い方(node.js=v0.11.16, npm=2.3.0, 2015-03時点)

npm installの–saveと–save-devの違いと-g

npm uninstall

アンインストール。依存ライブラリの関係があるのでnode_modules以下をrmすると不具合が起こる。

npm list –depth==0

カレントディレクトリのプロジェクトにインストールされているライブラリの一覧。--depth==0をつけないと再帰的処理が走るのでつけたほうが無難。-gをつけるとグローバル環境。

npxコマンド

node_modules以下にインストールされたライブラリは例えば./node_modules/node-sass/bin/node-sass sample.scss sample.cssなどのコマンドで実行することが可能ですが、長く面倒なためnpx node-sass sample.scss sample.cssと短縮が可能。

npm runコマンド

package.jsonのscriptに記述することで特定の処理を動かすことができます。

上記のように書かれていた場合,npm run devとうつとnpm run developmentを実行したことになり、結果として、

cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.jsを実行することになります。

ちなみに別階層へのインストール、ビルドをしたい場合は、 --prefix をつければOKです。

npm install <package> --prefix ./path/directory/

npm --prefix ./path/directory run build

-JavaScript
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

cssフレームワークをnode_modulesから読み込む+cssの拡張

JavaScriptを1ファイルでまとめて読み込める方法が分かったので(参考リンク npmでのJSライブラリインストール)、CSSでも似たような方法があったのでメモ。 流れを言うと、下記のようになりま …

no image

複数の非同期処理終了後(when&Promise.all)

JavaScriptで複数の非同期処理(例:API)を走らせて、その非同期処理が全て終わった後で、何らかの処理をしたい時について。 Contents1 when2 Promise_all when j …

no image

Angularでのfilter

今回はAnuglarでよく使うfilterという機能です。 使いどころとしては入力フォームに対応させて表示項目を絞る、みたいな使い方が一般的かと思います。 一番簡単なものとしては配列があり、入力値にあ …

no image

formのシリアライズ+return falseなど

ajaxでformの値を投稿しようとするとき、一つ一つの要素をjQueryでとっていたのですが、項目が多いとなかなか手間です。 そんな時、下記のメソッドで一気にフォーム要素を取得して投げることができま …

no image

bowerのインストール

業務でAngularJSをいじっていますが、そこでbowerというソフトウェアの存在を知りました。 Contents1 bowerとは?2 インストール方法 bowerとは? フロントエンドのパッケー …