摘要:啟動新技術(shù)提供測試框架進(jìn)行單元測試,代碼覆蓋率報告,可與和快速對接。關(guān)于的模塊化,預(yù)處理器的編譯。頁面的其他資源文件,通過引入單元測試日后調(diào)整,待開發(fā)使用手冊流程基本位于創(chuàng)建視圖更多說明主動引入的默認(rèn)地址為位于配置相關(guān)的和文件。
webpack2-Scaffolding
請各位看客老爺不要吝嗇自己的Star,先來Github右上角Star一下唄。
Github右上角Star。
Github右上角Star。
重要的事情說三遍
項目地址https://github.com/sayll/avalon-webpack-start
介紹webpack2腳手架正式版,一個多資源統(tǒng)籌的腳手架。
本項目使用avalon2作為演示框架。
為兼容低版本瀏覽器,我也是強(qiáng)烈推薦一下它。市面上應(yīng)該也算唯一能夠支持到IE8以下的MVVM框架了吧。
服務(wù)端使用Koa。需要注意的是,只有一個目的那就是提供了webpack-dev-middleware 和 webpack-hot-middleware(代碼熱替換)。使用自定義的Koa程序替換webpack-dev-server,讓它更容易實現(xiàn)universal 渲染和為了不使這個包過于龐大。
針對不同的loader采用了多線程編譯,極大的加快了編譯速度。
使用webpack.DllReferencePlugin打包框架和庫。加快編譯與打包速度。
啟動新技術(shù)tree-shaking
提供測試框架進(jìn)行單元測試,代碼覆蓋率報告,可與Travis-ci和Coveralls快速對接。【配置說明】
Babel被配置babel-plugin-transform-runtime可以讓代碼更優(yōu)化。
關(guān)于【Css】css的模塊化,預(yù)處理器的編譯。(支持sass,scss,less,postcss)
針對低版本瀏覽器和其他瀏覽器內(nèi)核的特殊性,啟用autoprefixer自動添加瀏覽器前綴
針對移動開發(fā),有獨特的處理方案。(具體文檔等待補(bǔ)充)
可導(dǎo)入字體和字體圖標(biāo),操作非常簡單。(如阿里系icon)【配置文檔】
每次修改都會生成新的文件名,防止舊樣式緩存帶來的影響。(與JS間做了特殊處理,通過JS引入的CSS不會因JS改變而改變它的hash值)
針對開發(fā)模式啟用修改自動刷新頁面。(做了特殊處理,發(fā)布模式將得到優(yōu)化)
關(guān)于【Js】支持ES6的最新特性
模塊化,可才用ES6的import,也可用AMD規(guī)范的require
每次修改都會生成新的文件名,防止舊腳本緩存帶來的影響。(與CSS間做了特殊處理,通過JS引入的CSS不會因CSS改變而改變它的hash值)
快速編譯,自動刷新。
將常用的框架和庫進(jìn)行多帶帶打包。(Dll)防止重復(fù)引用,導(dǎo)致打包文件臃腫。
提供公共腳本的文件入口,此文件將被所有頁面自動引用。(可設(shè)置全局變量,引入公共的庫。如Jquery)
關(guān)于【Html】支持單頁應(yīng)用和多頁應(yīng)用的混合開發(fā)。
自動引入頁面的CSS和JS文件。無需手動設(shè)置URL。(所有文件hash的改變都會導(dǎo)致文件名改變,這里的資源引用全由內(nèi)部自動完成)
如有使用常用的框架和庫進(jìn)行多帶帶打包。(Dll),將需要多帶帶引用dll的vendor.js;
開始 環(huán)境配置安裝node.js
安裝git
依賴配置確認(rèn)好你的環(huán)境配置,然后就可以開始以下步驟。
$ git clone https://github.com/sayll/avalon-webpack-start.git $ cd avalon-webpack-start $ npm install # Install project dependencies $ npm start # Compile and launch
如果一切順利,就能正常打開端口:http://localhost:1000/
開發(fā)過程中,你用得最多的會是npm start,但是這里還有很多其它的處理:
npm run | 解釋 |
---|---|
start | 第一次運(yùn)行啟用。生成DLL文件,服務(wù)啟動在1000端口,代碼熱替換開啟。 |
deploy | 刪除舊文件,生成新DLL,進(jìn)行代碼測試,打包相關(guān)文件(默認(rèn)目錄~/build)。 |
dev | 與npm start類似相同,只有當(dāng)DLL文件存在時可用。加快開發(fā)速度。 |
test | 開啟Karma測試并生成覆蓋率報告。 |
visualizer | 打包資源分析 |
build | 同dev在DLL文件存在時,加快打包速度。 |
clean | 清除打包的文件 |
cnpm | 替換為淘寶鏡像 |
dll | 適合第一次啟動時運(yùn)行,生成DLL文件。 |
第一次運(yùn)行,推薦使用 start,后續(xù)調(diào)試使用dev
打包推薦使用deploy
目前所有相關(guān)開發(fā)打包都需依賴dll,當(dāng)不清楚或運(yùn)行出錯時,嘗試運(yùn)行一下npm run dll,再完成接下來的操作。
程序目錄. ├── build # 所有打包配置項 ├── config # 項目配置文件 ├── server # Express 程序 (使用 webpack 中間件) │ └── main.js # 服務(wù)端程序入口文件 ├── app # 程序源文件 │ ? ├── html ? ? ? ? ? ? ? ? # 多頁或單頁應(yīng)用的入口HTML │ ? ├── source ? ? ? ? ? ? ? # 公共的資源文件 │ ? ? ? ├── css │ ? ? ? ├── font │ ? ? ? ├── img |? ? ? ?└── js ? ? ? ? ? ? ? │ ? ├── static ? ? ? ? ? ? ? # 公共的靜態(tài)資源文件(所有內(nèi)部文件通過index.js引入,可配置全局變量。) │ ? └── view ? ? ? ? ? ? ? # 主路由和異步分割點 │ ? ? ? └── index ? ? ? ? ? # 匹配html文件夾中的index.html。(css,js文件名對應(yīng)文件夾名,可直接打包無需多帶帶引入) │ ? ? ? ? ? ├── index.js ? ? # 直接與index.html匹配的入口文件,可以作為單頁應(yīng)用的入口,在內(nèi)部定義自己的項目目錄 │ ? ? ? ? ? ├── index.css ? ?# 如是多頁應(yīng)用,可設(shè)置對應(yīng)的CSS文件,直接匹配。 │ ? ? ? ? ? └── other ** ? ? # 頁面的其他資源文件,通過index.js引入 └── test ? ? ? ? ? ? ? ? ? # 單元測試(日后調(diào)整,待開發(fā)ing)使用手冊 流程
基本
位于app/html創(chuàng)建HTML視圖【更多說明】
主動引入DLL的JS,默認(rèn)地址為
位于app/view配置html相關(guān)的JS和CSS文件。(JS和CSS需與HTML保持一致,可參考現(xiàn)有模版)【更多說明】
高級
引用字體圖標(biāo)Icon【更多說明】
使用框架(avalon)或庫(jquery)【更多說明】
設(shè)置全局變量。雖引入公共庫,但每次調(diào)用都需重新聲明。所以就有了公共文件來提前聲明。【更多說明】
使用Css預(yù)處理器(更多說明)
使用CDN(更多說明)
修改目錄結(jié)構(gòu)(更多說明)
最后
打包文件為build文件夾,請以此為根目錄。
更新日志更新詳情
最重要的事情項目地址: https://github.com/sayll/avalon-webpack-start
親不要吝嗇自己的Star,到Github右上角Star一下唄。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/81391.html
摘要:正式版正式版,簡單方便的構(gòu)建單頁和多頁用用。下一步是完善單元測試,代碼覆蓋率報告如果大家有更好的想法及建議請?zhí)帷i_啟測試并生成覆蓋率報告。頁面的其他資源文件,通過引入單元測試日后調(diào)整,待開發(fā)樣式使用可添加替換預(yù)處理。 webpack2正式版 webpack2正式版,簡單方便的構(gòu)建單頁和多頁用用。(啟用tree-shaking新技術(shù))地址:avalon-webpack-start 這個啟...
摘要:多語言使用了的版本,并整合了的多語言和使用者自己的多語言配置,而且會根據(jù)用戶系統(tǒng)的語言自動切換為中文和英文。 谷歌今天發(fā)布了一系列性感的軟件,我們也發(fā)布了一款大家期待已久的開發(fā)者工具,同樣很性感 :) iView 2.0 已經(jīng)發(fā)布有兩個月了,在 2.0 發(fā)布后,npm 下載量、issues 數(shù)量都提升了很多(可以 watch 下項目,感受感受郵件量)。兩個月里,我們平均 1 周發(fā)布一個...
摘要:從再到目前當(dāng)紅明星,前端模塊打包技術(shù)日新月異,在今年月份和月份左右接連更新了和版本為了減少冗余模塊,縮減文件大小,中也加入了關(guān)于的特征,可以查看知乎如何評價新引入的代碼優(yōu)化技術(shù)的討論。 從Grunt->gulp->webpack,再到目前當(dāng)紅明星rollup,前端模塊打包技術(shù)日新月異,webpack在今年1月份和6月份左右接連更新了v2和v3版本,為了減少冗余模塊,縮減bundle文件...
摘要:名稱后自動自動補(bǔ)全的功能將被移除在配置時,官方不再允許省略擴(kuò)展名,的配置寫法上將逐步趨于嚴(yán)謹(jǐn)。使用自定義參數(shù)作為配置項傳入方式將做調(diào)整如果你隨意將自定義參數(shù)通過傳入到配置項中,如你會發(fā)現(xiàn)這將不會被允許,的執(zhí)行將會遵循更為嚴(yán)格的標(biāo)準(zhǔn)。 歷時多日,webpack2.2正式版終于趕在年前發(fā)布了,此次更新相對于1.X版本有了諸多的升級優(yōu)化改進(jìn),筆者也在第一時間查閱了官方的文檔,整理和翻譯了由w...
摘要:它會檢測出最大靜態(tài)子樹就是不需要動態(tài)性的子樹并且從渲染函數(shù)中萃取出來。這樣在每次重渲染的時候,它就會直接重用完全相同的同時跳過比對。需要注意的是,中的操作必須是同步的,不可以存在異步操作的情況。 新增:哈哈,最近又推出了 vue 的文章,在這里放個鏈接~手把手教你從零寫一個簡單的 VUE 感謝有人看我扯技術(shù),這篇文章主要介紹最近非常火的vue2前端框架的特點和vue2+vuex2+we...
閱讀 1231·2021-11-11 16:54
閱讀 1748·2021-10-13 09:40
閱讀 943·2021-10-08 10:05
閱讀 3508·2021-09-22 15:50
閱讀 3711·2021-09-22 15:41
閱讀 1807·2021-09-22 15:08
閱讀 2350·2021-09-07 10:24
閱讀 3580·2019-08-30 12:52