JavaScript から Web版 SDK を使う
最終更新: 2020年1月30日
このページではCubism 4 SDK for Web の Framework を JavaScript の webpack プロジェクトから使用するための手順を紹介します。
既存の JavaScript の webpack プロジェクトに必要なファイルを追加する
Cubism 4 SDK for Web から以下のディレクトリをプロジェクトにコピーします。
- Coreフォルダ
- Frameworkフォルダ
既存のプロジェクトにパッケージを追加する
既存の JavaScript の webpack プロジェクトで、TypeScript をビルドするために ts-loader パッケージを追加します。
プロジェクト上で下記のコマンドを入力すると package.json にパッケージが追加されます。
npm install --save-dev ts-loader
既存のプロジェクトの webpack の設定を変更する
既存の JavaScript の webpack プロジェクトで Framework のビルドが行えるようにいくつか追加の設定を行います。
まずは、TypeScript ファイルを webpack のビルド対象に追加するために下記を設定します。
module.exports = { ... resolve: { extensions: ['.ts', '.js'] } ... }
次に、webpack がビルド時に TypeScript を変換するために下記の設定を追加します。
module.exports = { ... module: { rules: [ { test: /.ts$/, exclude: /node_modules/, loader: 'ts-loader' } ] } ... }
以上で webpack のビルドを正常に行うことができます。
下記にwebpack.config.js のサンプルを掲載します。
var path = require('path'); module.exports = { entry: './src/main.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', publicPath: '/dist/' }, resolve: { extensions: ['.ts', '.js'], }, module: { rules: [ { test: /.ts$/, exclude: /node_modules/, loader: 'ts-loader' } ] } }
JavaScript から Framework を使用する
JavaScript から TypeScript のフレームワークを使用する方法になります。
使用したいモジュールを import して利用する場合以下のように記述します。
import { Live2DCubismFramework } from "../../../../Framework/live2dcubismframework"; Live2DCubismFramework.CubismFramework.CubismFramework.startup();
フレームワーク内クラスのインポート
フレームワークは名前空間 Live2DCubismFramework でラッピングされているため、複数 import すると重複してしまいます。
重複を解決するには import 時に違う名前を指定する必要があり、import 時の名前空間の後に as [任意の名前] を指定することで解決できます。
さらに、import [任意の名前] = モジュール名 と記述することで、内部モジュールを別の名前で定義することができます。
import { Live2DCubismFramework as live2dcubismframework } from '../../../../Framework/live2dcubismframework'; import CubismFramework = live2dcubismframework.CubismFramework; CubismFramework.startup();