TypeScriptでのツクールMVプラグイン制作+α (RPGツクールMV Advent Calendar 4日目)
-- 2017/12/04 22:50
TypeScript導入
次にコマンドラインで
npm install -g typescript
を実行して下さい。これでnode.js環境にTypeScriptがインストールされます。
同じくコマンドラインで
tsc --version
と出たらインストール成功です。
npmはnode.jsに付属しているパッケージマネージャーで、TypeScript等の便利なパッケージを管理するものです。
レジストリとかは特に触らず、node.jsをアンインストールすると一緒に後腐れ無く消えるので心配は要りません。
Visual Studio Code導入
TypeScriptにVisual Studio Code、鬼に金棒とはこのこと。
こちらはVisual Studio Codeのページにいって、普通にインストーラーをダウンロードしてインストールまでするだけです。
TypeScriptでプラグインを書く
npm install rpgmakermv_typescript_dts
/// <reference types="rpgmakermv_typescript_dts"/>
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"outDir": "dist",
"lib": [
"es5",
"es2015.promise"
]
}
}
そしてエディタの下にあるコマンドラインで
tsc
とだけ書いて実行しましょう
すると、dist/a.jsに変換されたJavaScriptができます。
これをプラグインフォルダに入れるなり、あるいは"dist"のところを"js/plugins"にするなどすると、便利にプラグイン開発が出来ます。
というわけでTypeScriptプラグイン導入編、お疲れ様でした!
TypeScriptを使うと補完以外にもまだまだnullチェックだとか非同期の記述方法だとかクラスの記述だとか、様々な先進的な機能を使えます。
色々調べていってみて下さい。
補足:
上記ではnpmで簡単にインストールできるものを紹介しましたが、類似の型定義でRPGMakerMV Intellisenseというのも存在する模様です。
こちらは英文でコメントが付いているようなのでこれを導入するのも良いかも知れません。
これを同じように利用するには、PIXI Includedと書いてあるものをダウンロードした後適当なところに配置して、
/// <reference path="./rmmv-pixi.d.ts"/>
としてください。("./rmmv-pixi.d.ts"は.tsファイルからダウンロードしたファイルを参照するパス)
また上記型定義ファイルはhttps://github.com/Narazaka/rpgmakermv_typescript_dtsでコードを公開しているので、日本語コメントなどつけたい場合はプルリク下さい。ちゃちゃっとマージします。
複数ファイルの時の対処
とまあここまで出来るだけ広く布教したい気持ちで初心者向け?な記事を慣れないながらも書きましたが、ここからは分かってる人向けです。
TypeScriptで書く量が多くなってくるとファイル分けたいとかになってくると思います。
この場合いくつか選択肢があります。
自分がとっているのは最も単純に、コンパイル後にファイルを文字列結合してしまうやり方です。
findとかxargsとかをunxutilsというツールで導入しているので楽にやってますが、まあ他のやり方でもできるはず。
その他、そもそも動いているのがnw.js上なので、たぶんrequireが使えます。
この場合普通にモジュールとして書けば良い気がします。
webpackを使うという方法もあります。
配布用にデカいものを書く場合は多分コレが一番良いのではないかと。
targetにnode-webkitというのがあるのでそれを使えばいいんじゃないかと思われます。
あとファイルをsrcとかサブフォルダに入れた方が管理はしやすいと思います。
gitとか導入しても便利ですね。
なんか時間が無くて雑な記述ですがご容赦下さい。
他質問あればコメントにどうぞ。
+α RPGツクールMVデータベースエディタを作りたい
その他
上記で導入しているrpgmakermv_typescript_dtsは自分が昨日あたりリリースしたモジュールです。
ただ元々コミットログにあるように別の方が開発していたものがgithub消えてしまったので、手元にあったやつを復活させたという経緯があります(MIT的には問題ないはず)。
Twitterで問い合わせても特に返答無かったのでそのまんま管理してますが、何か問題あれば言って下さい。
- 関連記事
-
-
2018年にNode.jsとIEとEdgeとFirefoxとChromeとSafariとElectronとNW.jsでTypeScript+mocha+power-assertな単体テストをカバレッジ付きで走らせたメモ 2018/01/03
-
マスターデータ管理を優しくExcelから解き放つ (ドリコムアドベントカレンダー9日目) 2017/12/09
-
TypeScriptでのツクールMVプラグイン制作+α (RPGツクールMV Advent Calendar 4日目) 2017/12/04
-
DBD::SQLiteがコアダンプはいてたのなおした 2016/05/15
-
研修で新規ゲームアプリをモデルとビューに分けて作ったり色々したら捗った話 2015/12/20
-

コメント