WebPack
プロジェクトの構造を分析し、JavaScriptモジュールを含む関連リソースを検索し、ブラウザで使用可能なバンドルパッケージにパッケージ化するモジュールbundler.
登場背景
コアコンセプト
bundling
:js、css、画像などのファイルパッケージングタスクbundle
:タスクの成果物bundler
:ファイルexをパッケージング)webpack→loader他のタイプのファイルを処理し、dependency graphに追加可能なモジュール
test
:変換するファイルを指定use
:変換を実行するときに使用するロードプログラムを指定bundleを入れる前に、使用中に指定するローダ(前処理)
使用方法
module.exports = {
entry: './js/main.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'main.js',
clean: true // 이전에 있던 것들은 사라지고 test.js만 번들된다
},
module: {
rules: [
{
test: /\.s?css$/ , //정규표현식 사용
use: [
"style-loader",
"css-loader",
"sass-loader",
]
},
{
test: /\.js$/ ,
use:{
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
},
]
},
// 번들링 후 결과물의 처리 방식 등 다양한 플러그인들을 설정
plugins: [
new HtmlPlugin({ //dist의 main.js를 스크립트 파일로 포함하는 HTML 문서를 dist 폴더내에 자동 생성
template: './index.html'
}),
new CopyPlugin({
patterns: [
{ from: 'static' }
]
})
],
devServer : {
host: 'localhost'
}
}
参考資料
css-loader | webpack
WebPackの下部から設定
Webpackコンセプトのキャプチャ
完全征服Webpack!
Reference
この問題について(WebPack), 我々は、より多くの情報をここで見つけました https://velog.io/@ll55kk/WebPackテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol