0
0

Expressの起動方法(npm run <script名>ってなに?)

Posted at

npm run serve?

業務でモックサーバーのデータをもらいREADMEを見ていると
見慣れないコマンドを発見。

起動方法: npm run serve

そのままコマンドをGoogle先生に聞いてもnpmコマンドにrunはあるが
serveを指定しているものは見つからなかったので調べてみました。
※業務で見たモックサーバーはnodemonを利用していたため
今回の記事と少し状況が違いますが伝えたいことはnpm runの動作です

結論: package.jsonのscriptsに設定されたコマンドを実行している

説明のために以下の記事で作成したExpressサーバーを利用します。
ExpressでWebサーバーを立ててみる

記事でも書いてますがExpressを起動するために以下のコマンドを実行すると記載し、実際に起動します。

node app.js

ならnpm run serveでなんで起動するの??

npm run

npm run serveの実際の文法的な表現はnpm run <script名>になります。
script名ってなに?と調べてみると
package.json内にあるscripts内で宣言されているプロパティ名になります。

そのため、今回のようにnpm run serveでExpressを起動する場合は
`package.jsonに以下のように設定します。

"scripts": {
   "test": "echo \"Error: no test specified\" && exit 1",
   "serve": "node app.js"
 }

この状態でnpm run serveを実行すると
package.jsonscriptsserveに設定されているnode app.jsコマンドが実行され
app.jsに記載したExpressが起動します。

今回のような場合だとわざわざnpm run <script名>を使わずにnode app.jsでよくない?となると思いますが、
nodemonなどを用いる場合はそうはいかないため、それはまた別記事にします。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0