LoginSignup
6
7

More than 5 years have passed since last update.

VisualStudioCodeでnpmタスクを実行する

Last updated at Posted at 2016-05-14

概要

visual studio codeでnpmタスクを実行する。
前回gulpのタスクを実行することはやったので、もう少し粒度を小さく。

例えばpm2 を使っているアプリケーションとする。(pm2の使い方については pm2 - node.js プロセス管理パッケージを参照してくれれば良いかと。)
pm2を使う場合、以下の方法で起動、停止などは以下のように書ける。

pm2 start processes.json
pm2 restart processes.json
pm2 stop processes.json
pm2 delete processes.json

npmで実行する

npmでそれを実行しようとするとpackage.jsonには以下のようにかいて

{
(中略)
  "scripts": {
    "start": "pm2 start processes.json",
    "restart": "pm2 restart processes.json",
    "stop": "pm2 stop processes.json",
    "delete": "pm2 delete processes.json"
  },
(中略)
}

以下のように実行する。

npm run start
npm run restart
npm run stop
npm run delete

vscodeでタスクを起動する

vscodeでctrl+shift+pをおしてから「Tasks: Configure Task Runner」を選択する。次にタスクの設定を聞かれるので、npmを指定する。すると、tasks.jsonを.vscodeフォルダに作成される。

この時点でctrl+pをおしてから「task 」とタイプすると、install、update、testというのが選択できるよう状態になっているはず。……start、restartとかがない。
tasks.jsonの中身を見てみると、以下のようになっている

{
(中略)
    "tasks": [
        {
            "taskName": "install",
            "args": ["install"]
        },
        {
            "taskName": "update",
            "args": ["update"]
        },
        {
            "taskName": "test",
            "args": ["run", "test"]
        }
    ]
}

gulpだと勝手にタスク読み込んでくれてたのに…と思ったけど、よく考えてみるとnpmでstartを実行しようとすると、上記でやったように、npm run startって書かないといけない。つまり、run startが引数なわけだ。npm installとかいろいろあるから、仕方ないね。
そういうわけで、startとかを書いてみると書いてみると以下のようになる。

{
(中略)
    "tasks": [
        {
            "taskName": "install",
            "args": ["install"]
        },
        {
            "taskName": "update",
            "args": ["update"]
        },
        {
            "taskName": "start",
            "args": ["run", "start"]
        },
        {
            "taskName": "restart",
            "args": ["run", "restart"]
        },
        {
            "taskName": "delete",
            "args": ["run", "delete"]
        },
        {
            "taskName": "stop",
            "args": ["run", "stop"]
        }
    ]
}

で、この時点でctrl+pをおしてから「task 」とタイプすると、startなどがでてくるはず。

まとめ

visual studio codeでnpmタスクを実行するところができた。
.vscodeフォルダに入るものは基本共有するべきものじゃない(と思っている)ので、個人的に使う簡単なスクリプトとかを書いておくと便利(フォルダ構成を引数に渡すとか)……かな……

6
7
0

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
6
7