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

Angularでのfilter

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

no image

モジュールバンドラparcelについて

現在のフロントエンドだと、es6以降の書き方が主流になっていることもあり、一度慣れてしまうとなかなか戻れない便利さがあります。 私の場合、設定が面倒だったり、Chromeではトランスパイルしなくても動 …

no image

JSF+ajax

JSFでajaxを使うときにいろいろと調べたのでメモ。 やろうとしたことはWEB上で給与明細の計算をしたくて、プルダウンで月の変更したら自動的に経費が該当月に替わるというシステムです。 ajaxを使う …

no image

プルダウン連動のJS+動的要素のイベント追記(ライブラリのイベント)

JSがらみでちょっとした小ネタを。 Contents1 プルダウン連動2 動的要素へのイベント追加(ライブラリのイベントなど) プルダウン連動 大カテゴリ→小カテゴリなどとあった場合に、新規だけではな …

no image

vueに関する小ネタ(computed、v-classなど)

先日は埋め込み形式で、vueを書いてましたが、その時に新たな気づいた小ネタなど。 Contents1 computed2 v-class3 ajaxのasync:false computed 主に、v …