https://webpack.js.org/guides/
- npm init -y
- npm install webpack webpack-cli --save-dev
- npm install --save lodash
- npx webpack
- open dist/index.html
- npx webpack --config webpack.config.js
- npm run build
- open dist/index.html
- npm run build -- --color
- unpkg.com (https://unpkg.com/)
- CDN services, npmに登録されているパッケージを手軽に利用できる
# usage:
# 最新のバージョンを指定する場合 * 最新バージョンにリダイレクトされます
https://unpkg.com/パッケージ名/ファイル
# バージョンを指定する場合
https://unpkg.com/パッケージ名@バージョン/ファイル
# ディレクトリ構造がある場合
https://unpkg.com/パッケージ名@バージョン/ディレクトリ/ファイル
- import _ from 'lodash'
- 便利な関数をまとめて提供しているライブラリらしい。(https://lodash.com/)
- --save-dev, --save
- --saveは本番用、--save-devは開発用、依存関係
npm webpack
の後に--
をつけると引数を渡せる
- npm install --save-dev style-loader css-loader
- npm run build
- open dist/index.html
- npm install --save-dev csv-loader xml-loader
- npm install --save-dev yamljs json5
- npm install toml yamljs json5 --save-dev
- /src/assetsにまとめて入れるより、/src/components/my-componentsに分けて入れると管理しやすい。
- npm install --save-dev html-webpack-plugin
-
html-webpack-pluginはhtmlを出力する
-
output: { clean: true }を指定すると./dist/以下のファイルを綺麗にしてくれる
- npm install --save-dev webpack-dev-server
- npm install --save-dev express webpack-dev-middleware
- devtool: 'inline-source-map'でエラーを追跡できる
-
webpack's Watch Mode
- ブラウザをリフレッシュすると内容が変わる
-
webpack-dev-server
localhost:8000
でサーバーが立ち上がる
-
webpack-middleware
- サーバの設定を幅広く変更できる
- dependOnオプションはchunk間でモジュールを共有できる
- 1つのHTMLページで複数のエントリーポイントを使用する場合は、最適化.runtimeChunk: single」も必要です。
- SplitChunksPluginを使うと、既存のentry chunkや全く新しいchunkに共通の依存関係を抽出することができます
- returnにインポートを書いてそのまま返すDynamic Importsというやり方もあるhttps://webpack.js.org/guides/code-splitting/#dynamic-imports