webpack 試す
webpackを試す
package.json作成
npmのinitコマンドを作成する。yオプションをつけると全て初期設定でpackage.jsonが作成される。
$ npm init -y
{
"name": "test2",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
または、yarn init -y
でも可
gitignore追加
giboのNodeを使用。
$ gibo dump Node > .gitignore
webpack インストール
yarnを使用。webpackとwebpack-cliをインストール。-Dオプションをつけることで開発環境のみインストールされるようにする。
$ yarn add -D webpack webpack-cli
ビルド
webpackコマンドでビルドすることができる。
デフォルトではsrc/index.jsをdist/main.jsにビルドする。
console.log('hoge')
webpack実行。modeを指定していないのでワーニングが出ている。
$ npx webpack
asset main.js 20 bytes [emitted] [minimized] (name: main)
./src/index.js 19 bytes [built] [code generated]
WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/
webpack 5.11.0 compiled with 1 warning in 143 ms
console.log("hoge");
jsをバンドルする
hogeモジュールを用意してバンドルする。
const a = () => {
console.log('a')
}
export default a
import a from "./modules/hoge";
console.log('hoge')
a();
developmentモードでビルドする。
$ npx webpack --mode=development
asset main.js 4.13 KiB [emitted] (name: main)
runtime modules 668 bytes 3 modules
cacheable modules 117 bytes
./src/index.js 58 bytes [built] [code generated]
./src/modules/hoge.js 59 bytes [built] [code generated]
webpack 5.11.0 compiled successfully in 65 ms
結果。developmentモードだとバンドルはされないらしい。
productionモードでビルドするとmain.jsにバンドルされて1ファイルで完結するようになった。
$ npx webpack --mode=production
asset main.js 60 bytes [emitted] [minimized] (name: main)
orphan modules 59 bytes [orphan] 1 module
./src/index.js + 1 modules 117 bytes [built] [code generated]
webpack 5.11.0 compiled successfully in 153 ms
webpack設定を書く
webpack.config.js に設定を書く。
entoryで読み込むファイルを指定し、outputで書き出すファイルを指定する。
const path = require('path')
module.exports = {
entry: path.resolve(__dirname, 'src', 'index.js'),
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'main.js',
}
}
Author And Source
この問題について(webpack 試す), 我々は、より多くの情報をここで見つけました https://qiita.com/Syy12345-Unity/items/d1177d3593fc4275b3cd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .