package.jsonスクリプトを使って特定の拡張子を持つファイルをコピーする方法
質問
ビルドツールとしてnpmを試しています。
私が遭遇した 1 つの障害は、1 つのフォルダーから別のフォルダーに javascript ファイルをコピーする必要があることです。ソース フォルダには、typescript ファイル、javascript ファイル、および map ファイルが含まれていますが、ターゲット フォルダでは、javascript ファイルにのみ関心があります。
私は、各ファイルのコピーステートメントを作成したくないのですが、すべての .js ファイルをコピーしたいと思います。また、私のソース フォルダには、javascript ファイルを含むサブフォルダがあります。これらも同様にコピーされる必要があり、サブフォルダー構造を維持します。
私が試したのは
NCP
を使用することですが、フィルタを動作させることができません。フィルタで使用されている正規表現をテストしたところ、問題なく動作しているように見えます。テストは
Regex テスター
で、正規表現
.*\.js$
のようなテスト文字列と
main.ts
,
main.js
main.js.map
などのように、.jsの文字列のみがマッチングされました。
私のパッケージのjsonには、以下のものが含まれています(省略)。
{
"scripts": {
"copy": "ncp scripts wwwroot/scripts --filter=\".*(\\\\.js$)\""
},
"devDependencies": {
"ncp": "2.0.0.0"
}
}
私の正規表現は文字列の中の文字列であるため、ダブルエスケープしました。また、例えば他のバリエーションも試してみました。
--filter=/.*\.js$/g - compilation error
--filter=/.*\\.js$/g - no files copied
--filter=\".*\\.js$\" - no files copied
--filter=\"/.*\\.js$/g\" - no files copied
(no filter) - all files copied
私は決してNCPと結婚しているわけではありません。もし他のものがより良く機能するならば、私はそれを使うでしょう。
それで。package.json の scripts セクション内で、特定の拡張子を持つファイルのみを別のフォルダーにコピーするにはどうしたらよいでしょうか。私は間違いなく、何か明白なことを見落としています...。
どのように解決するのですか?
警告! cpy-cli、copyfiles、および他の解決策は、ここのコメントまたは以下の回答に記載されています。
cpx は良い代物かもしれません。
CLIがあり、正規表現の代わりにグロブを使うことができ、ディレクトリツリーを保持することができ、これを書いている時点では比較的最新です......。
関連
-
"Failed to load resource: net::ERR_FILE_NOT_FOUND" エラー。vue-cli 3.0 プロジェクトを作成し、dev で実行すると、パッケージング後にエラーが報告され、ページが空白になります。
-
[解決済み] Webpack 4 : ERROR in Entry module not found: Error: ./src'を解決できません。
-
[解決済み] Yarnの "npm install -save "に相当するものは何ですか?
-
[解決済み] package-lock.jsonの役割は何ですか?
-
[解決済み】npmインストール時。Unhandled rejection Error: EACCES: パーミッションが拒否されました。
-
[解決済み] [Solved] javascriptファイルを実行するカスタムスクリプトをpackage.jsonファイルに追加するにはどうすればいいですか?
-
[解決済み] npm -d installの"-d "は何ですか?
-
[解決済み] package.json の 'files' と 'directories' プロパティはどのように使用するのですか?
-
package.jsonのバージョン管理で「^」はどういう意味ですか?
-
Npm Error - No matching version found for
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラーです。EPERM: operation not permitted, unlink 'D:\Sources**node_modules**fsevents**node_modules**abbrev**package.json'
-
[解決済み] NPM 未定義のプロパティ '0' を読み取ることができません。
-
gulp: コマンドが見つからない 解決する
-
[解決済み] yarn runとnpm startの違いは何ですか?
-
[解決済み] gruntのインストール方法とスクリプトのビルド方法
-
[解決済み] npm equivalent of yarn resolutions?
-
[解決済み] yarn build" コマンドは何をするコマンドですか?npm build " と "yarn build" は似たようなコマンドですか?
-
[解決済み】npm package.jsonでdevDependenciesからdependenciesにモジュールを移動させる。
-
[解決済み] Jest JS テストの監視と再実行
-
グローバルにインストールされたnpmパッケージのアップデート方法