メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • rlib-MML WebApp
  • MML (Music Macro Language) をコンパイルし、再生やファイル出力(MP4、標準MIDIファイル)をブラウザ上で行えます。
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter

VisualStudio2015 (or 2013 ) + TypeScript plugin を使った開発環境の構築です。
javascript が正しく出来上がるのはもちろんですが、VisualStudio 上でソースコードデバッグ(*.ts、*.tsx ファイルでのデバッグ)も出来るようにしてあります。
もちろん実際の開発現場では、いろいろなライブラリを導入したり、サーバーアプリ開発と連携させたりと、やることはまだまだあると思いますが、とりあえず最小構成というとこで。

肝(イところ)は、
流行の VisualStudioCode ではなく VisualStudio を使ってることと、
TypeScript コンパイラも、TypeScript plugin のものを使うあたりです。

JavaScript のバージョンや開発環境の流行など、進歩の速い分野なのですぐ古い情報になっちゃうと思いますが、けっこう苦労したので備忘録かねて。

という訳で手順です。

Page Top

まずは前提条件として anchor.png

  1. ネットに繋がる Windows(7 以上)の PC を用意。
  2. VisualStudio2015 (or 2013 ) をインストール。
  3. VisualStudio の 拡張機能と更新プログラム から TypeScript plugin (今は1.8系が最新安定版なのでそれ) をインストール。
  4. Node.js をインストール。
Page Top

プロジェクトの用意と初期設定 anchor.png

  1. VisualStudio の 新規プロジェクト から "TypeScript を使用した HTML アプリケーション" でプロジェクトを作ります。
  2. package.json の作成と必要なモジュールのインストール。
    作成したプロジェクトのカレントディレクトリをコマンドプロンプトで開きます。
    1. package.json を生成します。
      > npm init
      nameは適当に。あとは全部デフォルトでOKです。
    2. webpack をインストールします。グローバルを汚すのは気が引けるのでローカルにインストールします。
      > npm install --save webpack
    3. source-map-loader をインストールします。これもローカルにインストールします。
      > npm install --save source-map-loader
    4. これで今現在のバージョンのモジュールがローカルにインストールされて、さらにその情報が package.json に追記されました。別 PC で同じ環境を構築するような際は > npm install とします。
  3. ビルドで使う webpack の設定ファイルをプロジェクトのカレントディレクトリに用意します。
    • webpack.config.js
      module.exports = {
      	entry: "./app.js",
      	output: {
      		filename: "./bundle.js",
      	},
      	devtool: "source-map",
      	module: {
      		preLoaders: [
      			{
      				test: /\.js$/,
      				loader: "source-map-loader"
      			}
      		]
      	}
      };
  4. package.json にビルドコマンドを追記します。
    {
    	・・
    	"scripts": {
    		"build": "webpack --config ./webpack.config.js",	←追記
    		・・
    	},
    	・・
    }
  5. 用意したファイルをプロジェクトに追加します。
    VisualStudio の ソリューションエクスプローラー、プロジェクトのコンテキストメニュー[追加]-[既存の項目]で、先ほど作った webpack.config.js と package.json を追加します。
  6. TypeScript コンパイラの設定を変更します。
    プロジェクトのプロパティの "TypeScript ビルド" を開いて以下のとおりにします。
    TypeScriptVisualStudio00.png
    • JSX compilation in TSX files: ⇒ React
    • モジュールシステム ⇒ CommonJS
  7. ビルドコマンドが実行されるように、ビルドイベントを記述します。
    プロジェクトのプロパティの "ビルドイベント" の "ビルド後に実行するコマンドライン" に以下を記述します。
    npm run build
    これでビルド時に package.json に追記したコマンドが実行されます。
  8. ビルドによって生成された javascript ファイルが実行されるように index.html を書き換えます。
    <script src="app.js"></script>
    となっている箇所を、
    <script src="bundle.js"></script>
    に変更します。
  9. これで設定はすべて完了です。F5キーを押して、ブラウザで正しく表示されるか確認して下さい。
    さらに、適当にブレークポイント貼ってみてソースコードでデバッグ出来るか試してみてください。
    TypeScriptVisualStudio01.png
Page Top

よもやま anchor.png

  • フロントエンドということで、複数になるであろうソースファイルを結合する必要があるため、結構めんどくさいです。
    TypeScript 1.8 では標準で結合機能があるので、webpack 等を使わなくても結合は出来るのですが、プロジェクトの全ファイルを1つにしてしまうようで、あんまり使い勝手がよくありません。それに実は、ブラウザではそのファイルをそのままでは動かせなかったりと、自分としてはイマイチだなーと思ってました。
    (が、ブラウザでも動かせるようにするコードを Webで公開してる方がおられましたので、それを使うことで解決という手もあると思います。)
    • TypeScript plugin のバージョンアップで、その辺を解決してくれるといいなぁと思います。そうなると Node.js や webpack などもとりあえず不要になり開発の敷居は下がりそうです。
      TypeScritp の開発者様とマイクロソフト様に感謝しつつ期待したいところです。

Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 6623, today: 2, yesterday: 2
Princeps date: 2016-09-10 (Sat) 14:00:50
Last-modified: 2016-09-10 (Sat) 14:04:26 (JST) (2953d) by takatsuka