[解決済み] Webpack - CopyWebpackPluginを使用してソースから公開ファイルへファイルをコピーする
2022-02-25 22:24:44
質問
Webpackを使用しているアプリがあります。このアプリでは、いくつかの静的な .html ファイルをさまざまなディレクトリから
source
ディレクトリの同じ階層に
public
ディレクトリを作成します。これを実現するために、私は
CopyWebpackPlugin
. この時、私のwebpack.config.jsは以下のようなファイルになっています。
webpack.config.js
const path = require('path');
const projectRoot = path.resolve(__dirname, '../');
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
entry: {
app: './source/index.html.js',
},
output: {
path: path.resolve(__dirname, 'public'),
filename: '[name].package.js'
},
module: {
rules: [
{
test: /\.css$/,
loaders: ['style-loader','css-loader']
},
]
},
plugins: [
new CopyWebpackPlugin(
[ { from: './source/**/*.html', to: './public', force:true } ],
{ copyUnmodified: true }
)
]
};
を実行すると
webpack
をコマンドラインから実行すると、すべてが思い通りに動作します。HTMLファイルは、そのディレクトリを含めて、正常に
public
ディレクトリを作成します。ただし、コピー時にコピー元のディレクトリ名が含まれます。例えば、私のディレクトリ構造が次のようなものであった場合。
/source
/dir-1
/child-a
index.html
page.html
/child-b
index.html
contact.html
/dir-2
index.html
の結果を期待しているのです。
CopyWebpackPlugin
を出力すると、以下のようになります。
が期待されます。
/public
/dir-1
/child-a
index.html
page.html
/child-b
index.html
contact.html
/dir-2
index.html
しかし、実際に取得できているのは
actualを使用します。
/public
/source
/dir-1
/child-a
index.html
page.html
/child-b
index.html
contact.html
/dir-2
index.html
がどのように
source
ディレクトリがコピー対象に含まれています。なぜこれが含まれているのか理解できません。もっと重要なのは、これを削除する必要があることです。どのようにすれば
source
ディレクトリをターゲット内のパスから削除してください。
解決方法は?
を使用することができます。 コンテキスト パラメータを指定します。
new CopyWebpackPlugin(
[{
context: './source/',
from: '**/*.html',
to: './public',
force: true
}], {
copyUnmodified: true
}
)
関連
-
[解決済み】「import」「export」がトップレベルにしか表示されない場合がある。
-
[解決済み] モジュール 'webpack/bin/config-yargs' が見当たりません。
-
Critical dependencyの解決方法:依存関係のリクエストは式?
-
localhostと0.0.0.0の違いについて
-
[解決済み] svgアイコンを読み込むと「exportsが定義されていません」と表示される。
-
[解決済み] webpackのファイルローダーで画像ファイルを読み込む方法
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
ESlintの構文検出設定方法をオフにする
-
[解決済み】webpack.config.jsでES6を使用するにはどうすればいいですか?
-
[解決済み】Webpack.configでindex.htmlをdistフォルダにコピーするだけの方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Webpack: 「ケーシングが異なるだけの名前のモジュールが複数存在する」しかし参照されるモジュールは同一である
-
[解決済み】モジュール 'webpack/bin/config-yargs' が見つかりません。
-
webpack getaddrinfo ENOTFOUND localhost エラー
-
[解決済み] モジュールのビルドに失敗しました(./node_modules/babel-loader/lib/index.js から)。TypeError: nullのプロパティ 'bindings' を読み取ることができません。
-
未定義のプロパティ 'properties' を読み取ることができません。
-
Webpackの "Invalid Host Header "を解決する。
-
copy-webpack-pluginの有用性・活用について
-
webpack:error 改行記号が 'LF' であることを期待したが、'CRLF' 改行記号が見つかった。
-
[解決済み】Webpackのスタイルローダーとcssローダーの比較
-
[解決済み] The code generator has deoptimised styling of [some file] as it exceed of max of "100KB"" とはどういう意味ですか?