VSCodeでnpm scriptsのタスクを実行する
VSCodeを使い始めました。1.0がリリースされるのが楽しみですね。
ところでTypeScriptを使う上でビルドタスクの設定に困ったので書いていきます。
tasks.json
VSCodeはビルドタスクを設定できます。
プロジェクト内で設定すると .vscode
ディレクトリの中に tasks.json
が作られます。
そのあたりの概要は公式サイトに書いてあるのですが npm scripts
に書いたタスクを設定する方法について書かれていないのでここで紹介します。
{ "version": "0.1.0", "command": "npm", "windows": { "command": "npm.cmd" }, "isShellCommand": true, "suppressTaskName": true, "tasks": [ { "taskName": "build", // Make this the default build command. "isBuildCommand": true, "args": ["run", "build"], // Show the output window only if unrecognized errors occur. "showOutput": "silent" } ] }
これは npm run build
コマンドの設定です。
それぞれのプロパティの意味については公式サイトに書いてあるので参照してください。
日本語なら以下のサイトを参考にすると幸せになれるかもしれません。
tsconfig.json
VSCodeは tsconfig.json
に filesGlob
プロパティを設定しても認識してくれてないみたいです。
全然関係ないんですが angular のリポジトリにある tsconfig.json
を見ると fileGlobs
となっているんですよね。
エディタやそのプラグインによって違うのでしょうか?
Symbol と Iterator の型定義
どうやって解決するのかわからなかったのです。
どのファイルで解決できるのか探してたんですがなにかいい方法あるのでしょうか。
結局、以下の様な感じになりました。
{ "compilerOptions": { "module": "commonjs", "target": "es5", "noImplicitAny": true, "sourceMap": true, "outDir": "tsc" }, "files": [ "./typings/main.d.ts", "./node_modules/typescript/lib/lib.es6.d.ts", "./src/index.ts" ] }
"./node_modules/typescript/lib/lib.es6.d.ts"
これで解決しました。
(これでいいのかはわからないです!)