画像アセット機能を使った際に出力されるフォルダを変更(カスタマイズ)方法です。
私の目的としては、通常設定ですと、「ファイル名-assets」となってしまうのですが、1つのフォルダに出力して欲しかったので方法を探しました。
いちいちフォルダ間を移動するのも面倒いでしたし、フォルダが無駄に増えてしまうのもね😓
ちなみにこの方法は「-assets」の部分を変えたい場合にも使えます。
ただ少々無理矢理なので、自己責任で必ずバックアップを取ってやってください。
「filemanager.js」ファイルを探す
まずファイル名を決定しているコードの書かれているファイルを探します。
「filemanager.js」というファイルですが、だいたいデフォルトですとこの辺りにあります。
〇
C:\Program Files\Adobe\Adobe Photoshop CC 2019\Required\Plug-ins\Generator\assets.generate\lib\filemanager.js
使っているバージョンによって少し違いますので悪しからず。
ちなみに下記の場所にも似たようなファイルがありますが、そっちじゃないので注意。
×
C:\Program Files\Adobe\Adobe Photoshop CC 2019\Required\Plug-ins\Generator\crema.generate\node_modules\generator-assets\lib\filemanager.js
このファイルの編集は管理者権限が必要です。
なのでとりあえず適当なところに2つコピーして、1つはバックアップ用に保管。もう1つは編集してしまいましょう。
編集が終わったら、元のファイルに管理者権限を使って上書きします。
実際にコードを編集する
編集箇所はだいたいこの辺り。
「”-assets”」で検索してもいいかも。
実際の変更箇所は「documentName + “-assets”」です
basePath = path.resolve(this._config["base-directory"], documentName + "-assets"); } else if (documentDirectory) { basePath = path.resolve(documentDirectory, documentName + "-assets");
これが要するにファイル名+”-assets”を作っている部分です。
私の目的はファイルごとにフォルダを分けて欲しくなかったので、documentNameを削除します。(ついでに「-」も)
basePath = path.resolve(this._config["base-directory"], "assets"); } else if (documentDirectory) { basePath = path.resolve(documentDirectory, "assets");
これでOK。しかしこの場合、同じフォルダにあるPSDファイルが同じassetsフォルダを共有するので、ファイル名が重複していると上書きされてしまいます。
私の場合特に問題ないのでこのままにしますが、問題がある場合は対応が必要です。