摘要:可用編譯低版本代碼水有多深不得而知啟動(dòng)新技術(shù)提供測(cè)試框架進(jìn)行單元測(cè)試,代碼覆蓋率報(bào)告,可與和快速對(duì)接。頁面的其他資源文件,通過引入單元測(cè)試項(xiàng)目啟動(dòng)環(huán)境配置為了把保證項(xiàng)目正常運(yùn)行,請(qǐng)自行更新相關(guān)環(huán)境。
項(xiàng)目地址:https://github.com/sayll/ie-webpack-start ie-webpack-start
?
IE 9+ 用戶請(qǐng)轉(zhuǎn)至:avalon-webpack-start
React 用戶請(qǐng)轉(zhuǎn)至:react-webpack-start
重要由于webpack不支持低版本IE下啟動(dòng)服務(wù)實(shí)時(shí)測(cè)試,必須通過打包才知道測(cè)試結(jié)果。
所以請(qǐng)用戶自行在其他瀏覽器編寫測(cè)試,最后回跑測(cè)試打包的IE
代碼壓縮導(dǎo)致無法兼容低版本IE,故取消代碼壓縮功能。
如有使用如Jquery第三方庫(kù)的同學(xué),最好自行引用它的min版本,而不是通過打包形式。(否則:反而使包變大)
本項(xiàng)目只是為用戶提供使用ES6新特性的可能,和簡(jiǎn)單方便的管理資源。其他擴(kuò)展功能不在本項(xiàng)目的范圍內(nèi)。
介紹
程序目錄
項(xiàng)目啟動(dòng)
環(huán)境配置
依賴配置
命令說明
使用手冊(cè)
基本
創(chuàng)建HTML視圖
配置JS,CSS資源文件
高級(jí)
使用框架(avalon2)或庫(kù)(jquery)
引用字體圖標(biāo)Icon
使用CSS預(yù)處理器、CDN或開啟多文件路口main.js
修改目錄結(jié)構(gòu)
單元測(cè)試
發(fā)布
常見問題
更新日志
最重要的事情
介紹這個(gè)一個(gè)以webpack2為基礎(chǔ),啟用tree-shaking新技術(shù),為打包支持到低版本的webpack2實(shí)驗(yàn)性腳手架。
本項(xiàng)目使用avalon2作為演示框架。
服務(wù)端使用Express。需要注意的是,只有一個(gè)目的那就是提供了webpack-dev-middleware 和 webpack-hot-middleware(代碼熱替換)。使用自定義的Express程序替換webpack-dev-server,讓它更容易實(shí)現(xiàn)universal 渲染和為了不使這個(gè)包過于龐大。
針對(duì)不同的loader采用了多線程編譯,極大的加快了編譯速度。
可用ES6編譯低版本IE代碼【水有多深不得而知】
啟動(dòng)新技術(shù)tree-shaking
提供測(cè)試框架進(jìn)行單元測(cè)試,代碼覆蓋率報(bào)告,可與Travis-ci和Coveralls快速對(duì)接?!九渲谜f明】
Babel被配置babel-plugin-transform-runtime可以讓代碼更優(yōu)化。
關(guān)于【HTML】支持單頁應(yīng)用和多頁應(yīng)用的混合開發(fā)。
自動(dòng)引入頁面的CSS和JS文件。無需手動(dòng)設(shè)置URL。(所有文件hash的改變都會(huì)導(dǎo)致文件名改變,這里的資源引用全由內(nèi)部自動(dòng)完成)
關(guān)于【CSS】css的模塊化,預(yù)處理器的編譯。(支持sass,scss,less,postcss)
針對(duì)低版本瀏覽器和其他瀏覽器內(nèi)核的特殊性,啟用autoprefixer自動(dòng)添加瀏覽器前綴
可導(dǎo)入字體和字體圖標(biāo),操作非常簡(jiǎn)單。(如阿里系icon)【配置文檔】
防緩存的hash規(guī)則
關(guān)于【JS】支持ES5,ES6編寫邏輯代碼
由于兼容性問題只可使用AMD規(guī)范的require,無法使用 import 和 export
防緩存的hash規(guī)則
快速編譯,自動(dòng)刷新。
程序目錄├── build # 所有打包配置項(xiàng) ├── config # 項(xiàng)目配置文件 │ ? ├── webpack # webpack配置文件夾 │ └── karma.conf.js # karma配置文件 ├── server # Express 程序 (使用 webpack 中間件) │ └── main.js # 服務(wù)端程序入口文件 ├── app # 程序源文件 │ ? ├── html ? ? ? ? ? ? ? ? # 多頁或單頁應(yīng)用的入口HTML │ ? └── source ? ? ? ? ? ? ? # 公共的資源文件 │ ? ├ ? ├── css │ ? ├ ? ├── js │ ? ├ ? ├── font │ ? ├ ? └── img? ? ? ? ? ? ? │ ? ├── static ? ? ? ? ? ? ? # 公共的靜態(tài)資源文件(所有內(nèi)部文件通過index.js引入,可配置全局變量。) │ ? └── view ? ? ? ? ? ? ? # 主路由和異步分割點(diǎn) │ ? ? ? └── index ? ? ? ? ? # 匹配html文件夾中的index.html。(css,js文件名對(duì)應(yīng)文件夾名,可直接打包無需多帶帶引入) │ ? ? ? ? ? ├── index.js ? ? # 直接與index.html匹配的入口文件,可以作為單頁應(yīng)用的入口,在內(nèi)部定義自己的項(xiàng)目目錄 │ ? ? ? ? ? ├── index.css ? ?# 如是多頁應(yīng)用,可設(shè)置對(duì)應(yīng)的CSS文件,直接匹配。 │ ? ? ? ? ? └── other ** ? ? # 頁面的其他資源文件,通過index.js引入 └── tests ? ? ? ? ? ? ? ? ? # 單元測(cè)試項(xiàng)目啟動(dòng) 環(huán)境配置
為了把保證項(xiàng)目正常運(yùn)行,請(qǐng)自行更新相關(guān)環(huán)境。
安裝node.js
安裝git
安裝Yarn(可選)
依賴配置首先clone項(xiàng)目
$ git clone https://github.com/sayll/ie-webpack-start.git $ cd ie-webpack-start
由于國(guó)內(nèi)有一堵高墻的存在建議國(guó)內(nèi)用戶切換源地址:
$ npm run cnpm
以后請(qǐng)使用cnpm替代npm操作
下載依賴
請(qǐng)確保你的環(huán)境配置完成,然后就可以開始以下步驟
npm 用戶:
$ npm install # Install project dependencies $ npm start # Compile and launch
cnpm 用戶:
$ cnpm install # Install project dependencies $ npm start # Compile and launch
Yarn 用戶:
$ yarn # Install project dependencies $ yarn start # Compile and launch
如果一切順利,就能正常打開端口:http://localhost:3000/
命令說明開發(fā)過程中,你用得最多的會(huì)是npm start,但是這里還有很多其它的處理:
npm run | 解釋 |
---|---|
start | 啟動(dòng)3000端口服務(wù),代碼熱替換開啟。 |
build | 單純打包資源,不會(huì)進(jìn)行代碼測(cè)試。 |
deploy | 刪除舊文件,進(jìn)行代碼測(cè)試,打包相關(guān)文件(默認(rèn)目錄~/build)。 |
test | 開啟Karma測(cè)試并生成覆蓋率報(bào)告。(默認(rèn)關(guān)閉:?jiǎn)?dòng)配置) |
visualizer | 打包資源分析 |
clean | 清除打包的文件 |
cnpm | 替換為淘寶鏡像 |
開發(fā)使用 start
調(diào)試IE使用 build
發(fā)布使用deploy
更多詳情...文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/86814.html
摘要:?jiǎn)?dòng)新技術(shù)提供測(cè)試框架進(jìn)行單元測(cè)試,代碼覆蓋率報(bào)告,可與和快速對(duì)接。關(guān)于的模塊化,預(yù)處理器的編譯。頁面的其他資源文件,通過引入單元測(cè)試日后調(diào)整,待開發(fā)使用手冊(cè)流程基本位于創(chuàng)建視圖更多說明主動(dòng)引入的默認(rèn)地址為位于配置相關(guān)的和文件。 webpack2-Scaffolding showImg(https://segmentfault.com/img/remote/14600000082840...
摘要:那時(shí)候所配置的任務(wù)監(jiān)聽匹配文件的變化自動(dòng)刷新瀏覽器自動(dòng)編譯自動(dòng)補(bǔ)全前綴多雪碧圖合并拼圖等等基于編譯圖片的任務(wù),已經(jīng)是完全滿足我們的需求了。直至到后來在雪碧圖的合并,多倍圖的輸出上,在上苦苦找尋不了比較完美的解決方案等等。 折騰 從 2015 到現(xiàn)在,短短的三年內(nèi),幾乎每年折騰一下工作流的 更新?lián)Q代 。從最早開始使用 Grunt 到 Gulp 再到 Webpack,再到 Rollup,...
摘要:名稱后自動(dòng)自動(dòng)補(bǔ)全的功能將被移除在配置時(shí),官方不再允許省略擴(kuò)展名,的配置寫法上將逐步趨于嚴(yán)謹(jǐn)。使用自定義參數(shù)作為配置項(xiàng)傳入方式將做調(diào)整如果你隨意將自定義參數(shù)通過傳入到配置項(xiàng)中,如你會(huì)發(fā)現(xiàn)這將不會(huì)被允許,的執(zhí)行將會(huì)遵循更為嚴(yán)格的標(biāo)準(zhǔn)。 歷時(shí)多日,webpack2.2正式版終于趕在年前發(fā)布了,此次更新相對(duì)于1.X版本有了諸多的升級(jí)優(yōu)化改進(jìn),筆者也在第一時(shí)間查閱了官方的文檔,整理和翻譯了由w...
摘要:重要特性枚舉特性增加了對(duì)特性的支持。重要特性另一個(gè)就是基于靜態(tài)模塊分析僅支持標(biāo)準(zhǔn)寫法。這樣之后整體只能通過的方式。另外在使用過程中默認(rèn)是將和轉(zhuǎn)為所以需要關(guān)閉預(yù)設(shè)功能。這樣做的目的就是為了項(xiàng)目工程化實(shí)現(xiàn)大項(xiàng)目的分工協(xié)作提高開發(fā)效率。 引言 這里是webpack official提供的一到二的升級(jí)指南,二兼容一的寫法,給我的感覺是二的寫法更規(guī)范,使用起來也比較簡(jiǎn)潔。 重要特性枚舉 特性1 ...
摘要:但是此新標(biāo)簽在上并不能識(shí)別,需要進(jìn)行處理。方式一如果是以下的瀏覽器將創(chuàng)建標(biāo)簽,這樣非瀏覽器就會(huì)忽視這段代碼,也就不會(huì)有無謂的請(qǐng)求了。 HTML5的語義化標(biāo)簽以及屬性,可以讓開發(fā)者非常方便地實(shí)現(xiàn)清晰的web頁面布局,加上CSS3的效果渲染,快速建立豐富靈活的web頁面顯得非常簡(jiǎn)單。 定義頁面或區(qū)段的頭部; 定義頁面或區(qū)段的尾部; 定義頁面或區(qū)段的導(dǎo)航區(qū)域; 頁面的邏輯區(qū)域或內(nèi)容組合; 定...
閱讀 1669·2021-09-02 15:11
閱讀 1999·2019-08-30 14:04
閱讀 2582·2019-08-27 10:52
閱讀 1606·2019-08-26 11:52
閱讀 1228·2019-08-23 15:26
閱讀 2652·2019-08-23 15:09
閱讀 2630·2019-08-23 12:07
閱讀 2257·2019-08-22 18:41