Check out my commits to see the details
- Add default
package.json
withnpm init -y
- Add webpack
npm install --save-dev webpack webpack-cli
- Export modules and re-organize files
- Add
webpack.config.js
with basic declaration
const path = require('path')
module.exports = {
mode: "development",
entry: "./src/index.js",
output: {
filename: "main.js",
path: path.resolve(__dirname, "dist")
}
}
- Install two loaders:
style-loader
andcss-loader
- Install with
npm install --save-dev style-loader css-loader
. - Configured
webpack.config
to use both loaders on css files
module: {
rules: [
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
}
]
}
- Install bootstrap module
npm install --save-dev bootstrap
- Install
sass-loader
andnode-sass
npm install --save-dev sass-loader node-sass
- Edit rule in webpack config
module: {
rules: [
{
test: /\.scss$/,
use: [
"style-loader", //3. Inject styles into DOM
"css-loader", //2. Turn css into commonjs
"sass-loader" //1. Turn sass to css
]
}
]
}
- Install HTML webpack plugin
npm i --save-dev html-webpack-plugin
- Install html-loader, filer-loader and clean-webpack-plugin
npm install --save-dev html-loader file-loader clean-webpack-plugin
- Add jquery and popper to use JS in Bootstrap
npm install --save-dev jquery popper.js
- Add plugins to extract and optimize css
npm install --save-dev mini-css-extract-plugin optimize-css-assets-webpack-plugin