JavaScript에서 Web 버전 SDK 사용
업데이트: 2020/01/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();