開箱即用的多頁面webpack腳手架
近來接辦一個新項目,公司官網,官網為了對爬蟲友愛,不合適做單頁面,更不大合適用react,vue如許的框架。原本以為幾個簡樸的頁面還須要設置webpack挺貧苦,直接ES5,css,html寫寫就ok,然則一旦動手最先寫,離開了前端的種種隨心所欲的東西,回到了刀耕火種的時期。痛不欲生,縱然寫完了,今後的迭代保護一樣痛楚。 還不如建立一個腳手架,今後碰到這類官網多頁面的需求的時刻拿來即用,豈不美哉。
好了,背景就是這些,本腳手架合適仕進網之類的多頁面的運用。本腳手架已支撐運用ES6,less,模塊化,熱加載,eslint等功能
Build Setup
# 裝置依靠
npm install
# 開闢的時刻在當地啟localhost:8080,並最先熱加載
npm run dev
# production的宣布時打包
npm run build
目次構造
└─src // src 文件夾
│ ├─pages // 頁面文件夾
│ │ ├─about
│ │ │ about.html
│ │ │ about.js
│ │ │ about.less
│ │ │
│ │ ├─contact
│ │ │ contact.css
│ │ │ contact.html
│ │ │ contact.js
│ │ │
│ │ └─home
│ │ index.html
│ │ index.js
│ │ index.less
│ │
│ └─tools // 東西文件夾
│ utils.js
│
│ .babelrc // babel的設置文件
│ .eslintignore
│ .eslintrc.js // eslint的設置文件
│ .gitignore
│ ecosystem.config.js // pm2 deploy的設置文件
│ package.json
│ page.config.js // 頁面的設置文件
│ README.md
│ webpack.config.dev.js // 開闢環境的webpack設置文件
│ webpack.config.prod.js // 天生環境的webpack設置文件
開闢流程
假如增添新頁面,只需兩步,不須要改webpack等設置文件
- 在pages中新增一個文件夾
- 在page.config.js中增加這個頁面的信息即可
比方
{
name: 'contact',
html: 'contact/contact.html',
jsEntry: 'contact/contact.js'
}
腳手架地點: https://github.com/JesseZhao1…
批評區題目匯總
1. 怎樣引入bootstrap
- 裝置bootstrap
npm install --save bootstrap@3
- 由於bootstrap依靠jquery,所以也須要裝置這個庫
npm install --save jquery@3.3.1
- 在須要的頁面引入bootstrap的js文件和css文件
let $ = window.jQuery = require("jquery");
require("bootstrap");
import 'bootstrap/dist/css/bootstrap.css';
釋疑: 為何須要用require而不是用import
事實上,最先的時刻我用的也是import,然則隨後發明bootstrap在控制台報錯,說須要jquery,我明顯import進來jquery了啊。
由於require和import在引入文件時有很大區分,require是動態化的,而import是靜態引入的