Bootstrap4默认样式不对胃口?教你使用NPM+Webpack+SASS来定制
Bootstrap 是一个流行的前端样式库,可以方便快速的构建应用,但默认样式可能不尽人意,本文就介绍如何使用 NPM, Webpack, SASS 针对它的源码来定制自己的主题。版本使用的是 Bootstrap v4.3.1。
本文提供了一个使用此方式编写的一个后台管理模板 Dunwoo Admin,文末有获取源码的方式。演示地址:
安装 Node.js
Webpack 是对前端资源进行打包和编译的工具,它依赖于 Node.js,首先介绍下如何配置和安装绿色版的 Node.js。
下载绿色版本:https://nodejs.org/en/download/ (以 node-v10.16.1-win-x64.zip 为例)
并解压到某个目录下,比如 D:\node-v10.16.1, 然后设置系统环境变量:
NODE_HOME=D:\node-v10.16.1 NODE_PATH=%NODE_HOME%\node_modules path=增加;%NODE_HOME%;
在 Node.js 主目录新建 node_global 和 node_cache 两个目录,并使用以下命令设置 npm 全局安装模块的位置以及下载缓存路径:
npm config set prefix "D:\node-v10.16.1\node_global" npm config set cache "D:\node-v10.16.1\node_cache"
最后,可以在命令行使用 node -v 和 npm -v 验证是否安装成功。
Webpack 安装和配置
安装 Webpack 之前,需要使用 npm init 在项目根目录生成一个 package.json 文件,它类似 Java 中 Maven 的 pom.xml, 用于描述项目的元信息,名称、版本等,更重要的是它指定了项目运行依赖的模块,下面就是本项目此文件的内容:
{ "name": "dunwoo-admin", "version": "1.0.0", "description": "Bootstrap 4 Theme", "author": "wskwbog", "license": "MIT", "private": true, "keywords": [], "scripts": { "build": "webpack --progress --colors", "dev": "webpack-dev-server --inline --devtool eval-source-map --progress", "start": "npm run dev" }, "devDependencies": { "@babel/core": "^7.2.2", "@babel/plugin-proposal-object-rest-spread": "^7.3.2", "@babel/preset-env": "^7.3.1", "autoprefixer": "^9.4.7", "babel-loader": "^8.0.6", "css-loader": "^3.2.0", "node-sass": "^4.12.0", "postcss-loader": "^3.0.0", "sass-loader": "^7.2.0", "style-loader": "^1.0.0", "webpack": "^4.39.2", "webpack-cli": "^3.3.7", "webpack-dev-server": "^3.8.0", "mini-css-extract-plugin": "^0.8.0", "clean-webpack-plugin": "^3.0.0" }, "dependencies": { "bootstrap": "^4.3.1", "jquery": "^3.3.1", "popper.js": "^1.14.7" } }
其中关键配置的意义是:
- scripts: 配置不同功能脚本命令的缩写,可以使用 npm run build|dev 简单方便的调用
- devDependencies: 指定项目开发所需要的模块
- dependencies: 指定项目运行所依赖的模块
配置好 package.json 后就可以在当前目录运行 npm install 依赖的模块就会下载到当前目录的 node_modules 目录中。
在开始使用 Webpack 之前,还要进行一些配置,这也是比较麻烦的地方,本项目的 webpack.config.js配置内容如下: