🐙
jsで文字列改行を簡単に使えるdedentについての紹介
ライブラリ
状況
- trim()とバッククォートなどを使って改行をしたい
const text = `
この状態だと綺麗に
改行も実現される
`.trim();
この状態だと綺麗に
改行も実現される
const text = `
インデントがある状態だと
インデントが含まれた状態になってしまう
`.trim();
インデントがある状態だと
インデントが含まれた状態になってしまう
対処法
JS
npm install dedent
TS
npm install ts-dedent
tsだったらこっち。
実際のコード
import dedent from "ts-dedent";
自分はts環境なのでts-dedentを入れた
const text = dedent`
インデントがある状態でも
インデントが含まれない状態に!
`.trim();
インデントがある状態でも
インデントが含まれない状態に!
例
const canvasTexture = new THREE.CanvasTexture(
+ this.createCanvasForTexture(w * 20, h * 20, String(dedent(text)), f)
);
自分はテキストごとに呼び出すのが面倒だったので、自作のテキスト描画クラスの処理の中にdedentを入れて整形してみた。簡単に使えてとても便利!
参考ページ
Discussion