【2023年】これからブログを始める人へおすすめの書籍

Kissy

Node.jsでビルド時にファイルをコピーする

作成: 更新:

Node.js

この記事では、Node.jsでビルド時にファイルをコピーする方法を記載します。
 
Node.jsでビルド時にファイルをコピーしたい場合がよくあります。例えば、コンパイル前に必要なファイルをコピーしたり、実行時に必要なファイルをoutフォルダにコピーしたりなどです。

Node.jsではpackge.jsonにビルドスクリプトを記載することができるので、ここにファイルをコピーするスクリプトを記載します。

Windowsであればcopyコマンドなどありますが、OSに依存してしまうた使用しない方がよいです。Node.jsにはfsfs-extraといったファイル操作のライブラリがあるので、これらを使用してファイルをコピーします。

なお、この記事ではfs-extraを使用します。fsではフォルダを丸ごとコピーなどできいため、fs-extraを使用します。

ファイル操作ライブラリのインストール

fsまたはfs-extraをインストールします。1つのファイルコピーであればfsで十分ですが、フォルダごとコピーしたり、フォルダごと削除したりする場合は、fs-extraをインストールします。なお、この操作は次回以降実行する必要はありません。

npm install fs

または

npm install fs-extra

package.jsonの記載方法

フォルダを丸ごとコピー

フォルダを丸ごとコピーするにはfs-extracopySync()を使用します。fs-extraを使用するにはrequire('fs-extra')が必要なため、copySync()の前で実行しています。

なお、node -e-eはスクリプトを実行するためのオプションです。引数にスクリプト文字列を与えて実行する場合に使用します。

"scripts": {
	"build": "npm run copyfile & npm run compile",
	"copyfile": "node -e \"require('fs-extra').copySync('./src/templates', './out/templates')\"",
	"compile": "tsc -p ./",
},

フォルダを丸ごとコピーする

フォルダを丸ごとコピーするにはfs-extraremoveSync()を使います。

"scripts": {
	"build": "npm run compile & npm run removefile",
	"removefile": "node -e \"require('fs-extra').removeSync('./out/templates')\"",
	"compile": "tsc -p ./",
},

まとめ

最後まで読んでいただきありがとうございます。
また読んでくださいませ。
そんじゃーね。

関連記事

SPONSORED LINK
SPONSORED LINK