⑴ heapUsed正常,但是rss不斷漲,這是我自己的問題,還是nodejs的bug
信息太少了呀... pomelo沒用過, sorry....
不過感覺頻繁而大量的內存請求和回收可能造成類似的現象耶....
似乎內這個工具容可以比較實時的檢測, 而且用起來很簡單就是啟動命令換一下pm start app.js
之後pm2 monit實時監控試試吧
⑵ 如何用github-hexo搭建一個靜態博客
Hexo搭建Github靜態博客
1. 環境環境
1.1 安裝Git
請參考【1】
1.2 安裝node.js
下載:http://nodejs.org/download/
可以下載 node-v0.10.33-x64.msi
安裝時直接保持默認配置即可。
2. 配置Github
1.1 建立Repository
建立與你用戶名對應的倉庫,倉庫名必須為【your_user_name.github.io】
1.2 配置SSH-Key
參考【1】
3. 安裝Hexo
關於Hexo的安裝配置過程,請以官方Hexo【2】給出的步驟為准。
3.1 Installation
打開Git命令行,執行如下命令
$ npm install -g hexo
3.2 Quick Start
1. Setup your blog
在電腦中建立一個名字叫「Hexo」的文件夾(比如我建在了D:\Hexo),然後在此文件夾中右鍵打開Git Bash。執行下面的命令
$ hexo init
[info] Copying data
[info] You are almost done! Don't forget to run `npm install` before you start b
logging with Hexo!
Hexo隨後會自動在目標文件夾建立網站所需要的文件。然後按照提示,運行 npm install(在 /D/Hexo下)
npm install
會在D:\Hexo目錄中安裝 node_moles。
2. Start the server
運行下面的命令(在 /D/Hexo下)
$ hexo server
[info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
表明Hexo Server已經啟動了,在瀏覽器中打開 http://localhost:4000/,這時可以看到Hexo已為你生成了一篇blog。
你可以按Ctrl+C 停止Server。
3. Create a new post
新打開一個git bash命令行窗口,cd到/D/Hexo下,執行下面的命令
$ hexo new "My New Post"
[info] File created at d:\Hexo\source\_posts\My-New-Post.md
刷新http://localhost:4000/,可以發現已生成了一篇新文章 "My New Post"。
NOTE:
有一個問題,發現 "My New Post" 被發了2遍,在Hexo server所在的git bash窗口也能看到create了2次。
$ hexo server
[info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
[create] d:\Hexo\source\_posts\My-New-Post.md
[create] d:\Hexo\source\_posts\My-New-Post.md
經驗證,在hexo new "My New Post" 時,如果按Ctrl+C將hexo server停掉,就不會出現發2次的問題了。
所以,在hexo new文章時,需要stop server。
4. Generate static files
執行下面的命令,將markdown文件生成靜態網頁。
$ hexo generate
該命令執行完後,會在 D:\Hexo\public\ 目錄下生成一系列html,css等文件。
5. 編輯文章
hexo new "My New Post"會在D:\Hexo\source\_posts目錄下生成一個markdown文件:My-New-Post.md
可以使用一個支持markdown語法的編輯器(比如 Sublime Text 2)來編輯該文件。
6. 部署到Github
部署到Github前需要配置_config.yml文件,首先找到下面的內容
# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
type:
然後將它們修改為
# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
type: github
repository: [email protected]:zhchnchn/zhchnchn.github.io.git
branch: master
NOTE1:
Repository:必須是SSH形式的url([email protected]:zhchnchn/zhchnchn.github.io.git),而不能是HTTPS形式的url(https://github.com/zhchnchn/zhchnchn.github.io.git),否則會出現錯誤:
$ hexo deploy
[info] Start deploying: github
[error] https://github.com/zhchnchn/zhchnchn.github.io is not a valid repositor URL!
使用SSH url,如果電腦沒有開放SSH 埠,會致部署失敗。
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
NOTE2:
如果你是為一個項目製作網站,那麼需要把branch設置為gh-pages。
7. 測試
當部署完成後,在瀏覽器中打開http://zhchnchn.github.io/(https://zhchnchn.github.io/) ,正常顯示網頁,表明部署成功。
8. 總結:部署步驟
每次部署的步驟,可按以下三步來進行。
hexo clean
hexo generate
hexo deploy
9. 總結:本地調試
1. 在執行下面的命令後,
$ hexo g #生成
$ hexo s #啟動本地服務,進行文章預覽調試
瀏覽器輸入http://localhost:4000,查看搭建效果。此後的每次變更_config.yml 文件或者新建文件都可以先用此命令調試,尤其是當你想調試新添加的主題時。
2. 可以用簡化的一條命令
hexo s -g
3.3 命令總結
3.3.1 常用命令
復制代碼
hexo new "postName" #新建文章
hexo new page "pageName" #新建頁面
hexo generate #生成靜態頁面至public目錄
hexo server #開啟預覽訪問埠(默認埠4000,'ctrl + c'關閉server)
hexo deploy #將.deploy目錄部署到GitHub
hexo help # 查看幫助
hexo version #查看Hexo的版本
復制代碼
3.3.2 復合命令
hexo deploy -g #生成加部署
hexo server -g #生成加預覽
命令的簡寫為:
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
4 配置Hexo
4.1 配置文件介紹
下面的各個部分的介紹,請直接參考【3】。
1. 默認目錄結構介紹
2. _config.yml配置文件介紹
NOTE:在修改_config.yml配置文件時,按照【3】的介紹進行修改後,重新 hexo clean 或者hexo deploy時,可能會出現如下錯誤:
復制代碼
$ hexo clean
[error] { name: 'HexoError',
reason: 'can not read a block mapping entry; a multiline key may not be an imp
licit key',
mark:
{ name: null,
buffer: '# Hexo Configuration\n## Docs: http://hexo.io/docs/configuration.h
tml\n## Source: https://github.com/hexojs/hexo/\n\n# Site\ntitle: Zhchnchn\nsubt
itle: Coding on the way\ndescription: Zhchnchn\'s blog\nauthor: Zhchnchn\nemail:
115063497@qq.com\nlanguage:zh-CN\n\n# URL\n## If your site is put in a subdirect
......
,
position: 249,
line: 12,
column: 0 },
message: 'Config file load failed',
domain:
{ domain: null,
_events: { error: [Function] },
_maxListeners: 10,
members: [ [Object] ] },
domainThrown: true,
stack: undefined }
復制代碼
我的_config.yml配置文件是一個空行,所以錯誤肯定在前面,經過對比發現,我前面修改了一下 # Site的各項設置,在冒號:後面沒留空格導致了該問題,請對比一下下面的區別:
錯誤的設置:
author:Zhchnchn
email:[email protected]
language:zh-CN
正確的設置:
author: Zhchnchn
email: [email protected]
language: zh-CN
3. 各個主題下的目錄介紹(hexo\themes\下的modernist主題為例)
4.2 安裝主題
Hexo提供了很多主題,具體可參見Hexo Themes【4】。這里我選擇使用Pacman主題。具體設置方法如下【5】
4.2.1 安裝
1. 將Git Shell 切到/D/Hexo目錄下,然後執行下面的命令,將pacman下載到 themes/pacman 目錄下。
$ git clone https://github.com/A-limon/pacman.git themes/pacman
2. 修改你的博客根目錄/D/Hexo下的config.yml配置文件中的theme屬性,將其設置為pacman。
3. 更新pacman主題
cd themes/pacman
git pull
NOTE:先備份_config.yml 文件後再升級
4.2.2 配置
如果pacman的默認設置不能滿足需要的話,你可以修改 /themes/pacman/下的配置文件_config.yml來定製。
各個config的含義,請參考【5】中的介紹。
4.2.3 評論框
靜態博客要使用第三方評論系統,pacman配置了多說評論系統(/themes/pacman/_config.yml),默認關閉,只要將其打開即可:false->true。直接用你的微博/豆瓣/人人/網路/開心網帳號登錄多說,即可發表平評論。
#### Comment
oshuo:
enable: true ## oshuo.com
short_name: ## oshuo short name.
4.2.3 統計
1. pacman配置了google analysis系統(/themes/pacman/_config.yml),默認關閉,將其打開。
2. 需要注冊google analysis服務,以獲得 跟蹤 ID。
如果已有google賬戶的話,可以直接注冊。注冊時,需要正確填寫 網站的URL。注冊成功後,會得到一個跟蹤ID,以及一段跟蹤代碼。
3. pacman配置了google analysis系統,將其打開
#### Analytics
google_analytics:
enable: true
id: UA-57032437-1 ## e.g. UA-1766729-8 your google analytics ID.
site: auto ## e.g. yangjian.me your google analytics site or set the value as auto.
4. 在themes\pacman\layout\_partial\google_analytics.ejs 中,已經將google的跟蹤代碼添加進來了【3】。
復制代碼
<% if (theme.google_analytics.enable){ %>
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '<%= theme.google_analytics.id %>', '<%= theme.google_analytics.site %>');
ga('send', 'pageview');
</script>
<% } %>
復制代碼
而且會將/themes/pacman/_config.yml中的id和site值讀取進來。
5. 如果設置不起作用,請試試在\themes\pacman\layout\_partial\head.ejs文件中最後,</head>之前,添加上下面的語句試試。
<%- partial('google_analytics') %>
4.3 Custom 404頁面
1. 網上大多數教程都將其說的極其簡單:「直接在根目錄下創建自己的 404.html 就可以」。但我卻在這兒廢了不少時間,究其原因是大家覺得太簡單而說的不夠明白。「根目錄下」指的不是Hexo目錄下,而是Hexo/source目錄下。
2. 404.html的內容可以設置為下面的內容【6】(NOTE: _config.yml中的permalink_defaults屬性不需要修改)。
復制代碼
---
layout: default
---
<html>
<head>
<meta charset="UTF-8" />
<title>404</title>
</head>
<body>
<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8"></script>
</body>
</html>
復制代碼
也可以簡化為這一行:
<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8"></script>
4.4 安裝插件
4.4.1 sitemap插件
1. 可以將你站點地圖提交給搜索引擎,文件路徑\sitemap.xml。
2. 安裝
$ npm install hexo-generator-sitemap
3. 啟用,修改Hexo\_config.yml,增加以下內容
復制代碼
# Extensions
Plugins:
- hexo-generator-sitemap
#sitemap
sitemap:
path: sitemap.xml
復制代碼
4. 使用方法
(1)訪問 http://localhost:4000/sitemap.xml,即可看到站點地圖。
(2)那麼怎麼將它顯示在頁面中呢【7】?
可以修改themes/pacman(也就是你正在使用的那個theme)下的 _config.yml,在 menu 節點下添加下面的內容(下面要介紹的RSS插件也同樣)
menu:
Home: /
Archives: /archives
Rss: /atom.xml
Sitemap: /sitemap.xml
修改後的效果如圖所示:
5. 如何向google提交sitemap
Sitemap 可方便管理員通知搜索引擎他們網站上有哪些可供抓取的網頁。向google提交自己hexo博客的sitemap,有助於讓別人更好地通過google搜索到自己的博客。
如何向google提交sitemap,請參考【8】。
6. 升級插件
$ npm update
7. 卸載插件
$ npm uninstall hexo-generator-sitemap
4.4.2 feed插件
1. RSS的生成插件,你可以在配置顯示你站點的RSS,文件路徑\atom.xml。
2. 安裝
$ npm install hexo-generator-feed
3. 啟用,修改Hexo\_config.yml,增加以下內容
復制代碼
# Extensions
Plugins:
- hexo-generator-feed
- hexo-generator-sitemap
#Feed Atom
feed:
type: atom
path: atom.xml
limit: 20
復制代碼
4.使用方法
參見sitemap插件介紹
5. 優化Hexo
5.1 添加「Fork me on Github」 ribbon
給blog主頁添加一個「Fork me on Github」的綬帶(ribbon)【9】,比如選擇了紅色的ribbon,將相應代碼復制到Hexo正在使用的theme下layout.ejs中。比如我使用的pacman theme,那麼將下面的代碼(注意將you改為你自己的github上的注冊名)
<a href="https://github.com/zhchnchn"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com//" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_red_aa0000.png"></a>
粘貼到 themes\pacman\layout\layout.ejs中,放置在 最後,標簽</body>之前即可。
6 其他
6.1 中文亂碼
在md 文件中寫中文內容,發布出來後為亂碼,原因是md的編碼不對,將md文件另存為「UTF-8」編碼的文件即可解決問題。
References
【1】Windows下Git安裝指南(http://www.cnblogs.com/zhcncn/p/3787849.html)
【2】Hexo (https://github.com/hexojs/hexo)
【3】hexo你的博客(http://ibruce.info/2013/11/22/hexo-your-blog/)
【4】Hexo All Themes(https://github.com/hexojs/hexo/wiki/Themes)
【5】Pacman主題介紹(http://yangjian.me/pacman/hello/introcing-pacman-theme/)
【6】hexo添加404頁面(http://ruocaiwu.github.io/2014/08/14/hexo%E6%B7%BB%E5%8A%A0404%E9%A1%B5%E9%9D%A2/)
【7】如何搭建一個獨立博客——簡明Github Pages與Hexo教程(http://cnfeat.com/2014/05/10/2014-05-11-how-to-build-a-blog/)
【8】如何向google提交sitemap(詳細)(http://fionat.github.io/blog/2013/10/23/sitemap/)
【9】GitHub Ribbons(https://github.com/blog/273-github-ribbons)
⑶ 前端頁面的插件有哪些
工具類
方便操作對象,數組等的工具庫
underscore.js
lo-dash與underscore.js的api基本一致。與underscore比其優勢是,效率高;可自定義構建
Sugar在原生對象上增加一些工具方法
functional.js提夠了一些Curry的支持
Watch.js監視對象或屬性的變化
bacon.js函數式編程,cool
streamjs用流的方式來對數組,對象進行系列操作
非同步流程式控制制
eventproxy朴靈出品
Arbiter.js詳細
發布訂閱
qPromise風格的
Async.js
mock
Mock.js生成隨機數據和mock Ajax 請求
jquery-mockjaxmockajax請求
時間庫
moment
datejs
瀏覽器探測
Bowser探測具體瀏覽器和版本
ua-parser-js探測具體瀏覽器和版本,操作系統,設備類型等
調試
console-polyfill能放心的使用 console.log()之類的console方法
log讓控制台輸出的log有樣式
Konsole.js在頁面的一個元素里輸出log信息詳細
uri.jsuri操作
cookie增刪改cookie的工具庫
director前端路由庫詳細
BigDecimal.js提高精度的數字操作
JSDoc根據javascript文件中注釋的信息,生成API文檔詳細
hotkeys鍵盤事件的封裝
MD5用 MD5 的方式加密文件的庫
瀏覽器增強類
讓一些舊瀏覽器變牛逼的庫
Selectivizr讓IE 6-8一些的css3選擇器
ieBetter讓ie6-8有高級瀏覽器的特性
ExplorerCanvas讓IE8-的瀏覽器支持canvas
CSS3 Pie讓IE6-9支持border-radious,box-shadow,linear-gradient。 可以使用.htc文件(注意Mine type)或.js文件。在用Pie.js時,box-radious的元素有背景色時,不顯示背景色。。。
formFive讓舊的瀏覽器支持HTML5表單的一些特性,如 placeholder,autofocus
https://github.com/anselmh/object-fit讓瀏覽器支持object-fit這css規則
HTML5 Cross Browser Polyfills一堆Polyfills
flexibility讓舊的 IE 也支持 Flexbox
選擇器增強
Lining.js讓瀏覽器實現類似::nth-line(), ::nth-last-line()的效果
未歸類
prefixfree用了它,寫css時,就不需要加瀏覽器的前綴了
表單類
jquery-file-upload上傳文件組件詳細
zTree文件樹形視圖控制項
Treed樹編輯器。感覺展示的感覺很像思維導圖
FileAPI對文件選擇框內的文件的一些處理
表單驗證
.Validate詳細
jQuery-Validation-Engine
表單元素美化
uniform提供對下拉框,單,復選框,按鈕等表單元素的美化
select2多選下拉框
selectivity和unfirom比較類似
DropKick下拉框,單,多選。外觀比uniform好
switcheryios7風格的開關組件
nouislider用滾動條來設置/控制(音量等)
range.css美化input[type=range]元素的外觀
圖片類
holderjs生成占點陣圖片
lazyload
imagesLoaded選取的圖片都載入好後執行調回
CSSgram用CSS3的Filter實現Instagram濾鏡的庫
圖標類
Icon Font匯總
SVG做的圖標
svgicons
iconic
HYBICON帶交互效果。如 hover, click
HTML字元實體圖標
http://www.amp-what.com/
transformicons圖標點擊時,會有一些變換效果。如,加號變成叉號
css3patternscss3 做的可平鋪紋理。瀏覽器兼容性不好。
瀏覽圖片
fancybox彈出查看圖片,視屏等等demo
yoxview彈出查看圖片,圖片尺寸縮放很自然
圖片牆
wookmark
UI 框架
WeUI由微信官方設計團隊為微信 Web 開發量身設計。
Framework7
UI 組件類
拖拽
dragula支持Draggable,Dropable和Sortable。感覺比jqueryUI的輕量級,好用的樣子
angular-draguladragular 官方的 angular 版本
數據可視化(圖表)
Echarts網路出品
highcharts功能強大。是收費的。
Plottable.JS基於D3的一個圖表庫
flot文檔不給力
chartJs中文文檔demo很漂亮,很清晰。比較輕量級。
ichartJs中國的一個傢伙搞的,感覺還不錯。
時間選取組件
foundation-datepicker
DatePicker一個簡單的日歷詳細
full calendar支持脫放的方式來改變待辦事宜的時間
Simple Events Calendar外觀很喜歡。收費 5$
jQuery ui datepicker經典,不是很好看
pickadate輕量級,手機友好的,漂亮。但貌似只能在彈出層中顯示,而沒有下拉這種方式顯示。
zebra-datepicker可配置性很強。但貌似只能在彈出在右上方。。。
bootstrap-datepickerbootstrap風格。
dateRangePicker選取時間段。bootstrap風格。該組件依賴Twitter Bootstrap, Moment.js和jQuery.
自定義滾動條
perfect scrollbar輕量級的滾動條。外觀與mac上chrome的滾動條一樣。
iscroll在移動設備上用不錯
載入(Loding)效果
CSS SpinnersCSS做的
Loaders.cssCSS做的
表格組件
jsGridData Grid。詳細
backgrid基於Backbone.js的DataGrid
excellentexport把表格的內容生成excel。兼容 Firefox, Chrome, IE6+
datatables表格可交互(對內容進行排序,刪除等)
handsontable生成Excel外觀的數據
JSpreadsheets表格數據的組件庫
選取顏色
Spectrum
分享到SNS
JiaThis生成分享代碼。
編輯器
ace代碼編輯器,可以用來做demo演示
ckeditor
ueditor網路做的
tinymce對html內容進行實時的編輯
summernote在移動設備上用不錯
通知組件
notie.js
HTML5播放器
jwplayer被大量網站使用
html5media簡單的h5player,輕量級
jplayer功能強太,可換膚
展示
Impress.js各種旋轉,和奇特的體驗
fullPage全屏顯示。用滾輪來翻頁詳細
zepto.fullpage專注於移動端的fullPage.js,依賴Zepto
pagePiling和fullPage類似
turn.js做一本書,帶漂亮的翻頁的效果
幻燈
slidesjs挺好用的,只是那幻燈導航的CSS都要自己寫,呵呵詳細
iSlider無任何插件依賴的手機平台javascript滑動組件詳細
bgstretcher全屏幻燈,會隨著頁面大小的變化而變化。
Swiper開源、免費、強大的移動端觸摸滑動插件Swiper中文網
coin-slider兼容IE6。蠻好的~。不過其切換方式是一塊塊的。不能配置切換方式。。。
wowslider幻燈切換時各種很炫的效果。收費。
cycle2普通的幻燈,竟然不支持垂直滾動。。。
jcarousel普通的幻燈,不兼容IE6
reveal3d滾動。做ppt相當不錯
nodePPT國人做的,做ppt也相當不錯。有些方面比 reveal做的還好。但生成導出的html有些問題
roundabout3d切換,看的後面圖片的邊
彈出框
Magnific-Popup兼容PC,Mobile。還不錯,有5k+的star
layer國人開發的,兼容ie6+。不喜歡其調用方式。
動畫效果
mixitup用漂亮的動畫效果來完成排序和篩選
jQuery.Marquee跑馬燈效果
quickflip卡片翻轉效果
卡片翻轉效果2兼容性可以。寫的比較簡單:1,只支持x方向翻轉 2,類名都是規定好的 3,只能被調用一次。 需要改寫一下。我的改進版見這里
TheaterJS模擬兩個人在屏幕上對話
midnight.js文字顏色隨著背景變,屌炸了
color-animationjquery的顏色漸變動畫插件。jquery的動畫不支持顏色值的變化。改庫提供了這個支持。
transit對元素進行css的變換
tagcanvas3D標簽雲效果詳細
iconate圖片切換動畫
Snap.js左/右側導航的出現效果
CSS shake抖動動畫
ClickSpark.js點擊後的一些酷炫的效果
視覺差插件
scrollorama比較簡單
superscrollorama能做的效果更多,但要用第三方Tween的庫,使用起來比較復雜。
scrolldeck
flash
swfobj能夠自動檢測PC、Mac機器上各種主流瀏覽器對Flash插件的支持情況。它使得插入Flash媒體資源盡量簡捷、安全。而且它是非常符合搜索引擎優化的原則的。此外,它能夠避免您的HTML、XHTML中出現object、embed等非標准標簽,從而符合更加標准。詳細
抽獎
wScratchPad刮刮卡刮獎效果
jqueryrotate旋轉插件。可以用來做轉盤抽獎效果
用戶體驗增強類
Intro.js用來介紹網站的功能很不錯。也可以做新手引導。
blockUILolding組件。
simple-hint提示信息。用css做的。兼容性IE 9+。
dotdotdot文字溢出時,添加在文字末尾加省略號
jQuery-menu-aim二級菜單的切換如Amazon主頁上一樣迅速
AnythingZoomer放大鏡功能
美化/高亮語法代碼
google-code-prettify
DlHighlight僅支持JavaScript、CSS、XML、HTML 這4語法高亮
please按要求隨機舒服的顏色
Awesomplete輸入的智能提示,自動補全
proTip提示。感覺比 Bootstrap 的 tip 好
Hammerjs手勢庫。封裝了 Swipe, Tap, Pinch, Pan等手勢
動畫
velocity提高Jquery動畫的性能。以及顏色動畫之類的新特性。
SVG
Snap.svg操作 SVG 的 JS 庫。號稱 SVG 的 jQuery。demo
walkway以動畫的方式,漸漸地畫出 SVG 的路徑。
測試
Mocha
Chai
Should
Snoion
DeviceMock.jsmock 設備。
其他類
ZeroClipboard將內容復制到剪切板兼容主流瀏覽器的解決方案詳細
html2canvashtml轉化成canvas,可以用來做截圖。詳細
Ink響應式html郵件框架
性能測試
抓取,解析RSS內容(不能跨域,所以後台要做代理,所謂的解析Rss其實就是解析xml)
jFeed
jRss簡單版的jFeed
scriptcam與攝像頭交互
cylon.js機器人框架,支持35個平台
Masonry一個瀑布流框架
devices.css移動設備邊框的外觀。做原型的時候用不錯。
Bootstrap相關類
Bootbox.js對bootstrap的彈出框做的一些封裝
免費皮膚
AdminLTE
JS Plugins倉庫
jQuery Cards高質量的 jQuery 插件網站
jster
node moles
npmrankSort npm packages by page rank
YOU MIGHT NOT NEED JQUERY PLUGINS不依賴 jQuery 的 js 插件。
awesome-nodejs
Libraries.io各種語言的庫
OniUI去哪兒網做的一套基於Avalon的框架
常用的移動端框架
zepto.js
語法與jquery幾乎一樣,會jquery基本會zepto~
最新版本已經更新到1.16
iscroll.js
解決頁面不支持彈性滾動,不支持fixed引起的問題~
實現下拉刷新,滑屏,縮放等功能~
最新版本已經更新到5.0
underscore.js
筆者沒用過,不過聽說好用,推薦給大家~
該庫提供了一整套函數式編程的實用功能,但是沒有擴展任何JavaScript內置對象。
最新版本已經更新到1.8.2
滑屏框架
適合上下滑屏、左右滑屏等滑屏切換頁面的效果
slip.js
iSlider.js
fullpage.js
swiper.js
flex布局
flex布局目前可使用在移動中,並非所有的語法都全兼容,效果良好~
⑷ 如何用github搭建個人博客
GitHub 是一個用於使用Git版本控制系統的項目的基於互聯網的存取服務,GitHub於2008年2月運行。在2010年6月,GitHub宣布它現在已經提供可1百萬項目,可以說非常強大。
Github雖然是一個代碼倉庫,但是Github還免費為大家提供一個免費開源Github Pages空間,利用這個空間你可以搭建輕量級的博客系統,綁定自己的域名,存放一些圖片和文件等等。
關於Github,其實我在介紹phpfog空間時以前我也接觸過,不過那隻是申請一個Git賬號,並不知道Github還會提供免費空間可供使用。直接有好友留言(具體在哪篇文章我找了好久也沒有找到)說可以試試Github Pages。
於是我這幾天都在研究怎麼用Github Pages搭建一個個人博客,可惜由於對代碼和git命令不熟悉,磕磕碰碰,一直到現在才把Github Pages免費空間給熟悉了,故寫個教程記下整個過程。
在網上搜索Github Pages免費空間使用教程,比較少,而且不全面,或者說不適合像我這樣從未接觸過Github的人,有幾次的按照網上的教程來做都失敗了,主要是好步驟不知道如何操作。
中途也想到過放棄Github Pages,因為這樣一個「如此麻煩」的空間即使搞定估計用途也不大。但是有兩個原因促使我認為有必要向大家介紹它:老牌開源的空間——穩定、不會隨便刪除用戶數據——至少我這么認為、沒有外鏈流量限制。
⑸ javascript和vbscript哪個比較有用
javascript。vbscript這個腳本語言現在使用越來越少,但他能操作系統,這是一大優勢,但在html5來臨時代,沒落了。javascript開發人員現在逐步上升中,html5來臨時代,js是主題。nodejs解決了操作系統問題。
⑹ nodejs怎麼占內存那麼多
node基於v8構建,所以在node中使用的js對象基本上都是通過v8自己的方式來進行分配和管理的。
在v8中,所有的js對象都是通過堆來進行分配的。
process.memoryUsage();
{
rss:24473600,
heapTotal: 7331840,
heapUsed: 5736952,
external: 8727
}
v8內存分代
v8中,主要將內存分為新生代和老生代。新生代中為存活時間較短的對象,老生代中為存活時間較長的對象。
新生代垃圾回收:
新生代中的對象主要通過Scavenge演算法進行垃圾回收。將新生代中的內存空間一分為二,處於使用狀態的為From空間,處於閑置狀態的為To空間。在進行垃圾回收時,檢查From空間的存活對象並復制到To空間,非存活對象佔用空間釋放。之後From和To空間角色對調。
對象晉升:
如果一個對象經歷過一次新生代垃圾回收,或者To空間的內存佔比超過25%,則此對象從新生代中移動到老生代中,此過程稱為晉升。
老生代垃圾回收:
主要採用Mark-Sweep(標記清除)和Mark-Compact(標記整理)兩種方式進行垃圾回收。
標記清除在標記階段遍歷堆中的所有對象,並標記活著的對象。隨後的清除中只清除沒有被標記的對象。會產生內存碎片。為解決這個問題,標記整理被提了出來,在對象被標記為死亡後,在整理的過程中,將活著的對象往一端移動,移動完成後直接清理掉邊界外的內存。v8中混合使用這兩種方法。一般在空間不足以對從新生代晉升過來的對象進行分配時,才使用標記整理。
高效使用內存:
在js中無法立即回收的內存有閉包和全局變數引用這兩種情況。此情況會導致新生代中的對象數量增多。
⑺ web前端都要學習什麼課程
WEB前端學習應該要學習那些課程?
在這里我們把前端學習分為9個階段,進行學習:
HTML+CSS:
HTML進階、CSS進階、div+css布局、HTML+css整站開發、
JavaScript基礎:
Js基礎教程、js內置對象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時器和焦點圖。
JS基本特效:
常見特效、例如:tab、導航、整頁滾動、輪播圖、JS製作幻燈片、彈出層、手風琴菜單、瀑布流布局、滾動事件、滾差視圖。
JS高級特徵:
正則表達式、排序演算法、遞歸演算法、閉包、函數節流、作用域鏈、基於距離運動框架、面向對象基礎、
JQuery:基礎使用
懸著器、DOM操作、特效和動畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。
HTML5和移動Web開發
HTML5:
HTML5新語義標簽、HTML5表單、音頻和視頻、離線和本地存儲、SVG、WebSocket、Canvas.
CSS3:
CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動畫、景深和深透、3D效果製作、Velocity.js框架、元素進場、出場策略、炫酷CSS3網頁製作。
Bootstrap:
響應式概念、媒體查詢、響應式網站製作、刪格系統、刪格系統原理、Bootstrap常用模板、LESS和SASS。
移動Web開發:
跨終端WEB和主流設備簡介、視口、流式布局、彈性盒子、rem、移動終端JavaScript事件、手機中常見JS效果製作、Zepto.js、手機聚劃算頁面、手機滾屏。
HTTP服務和AJAX編程
WEB伺服器基礎:
伺服器基礎知識、Apache伺服器和其他WEB伺服器介紹、Apache伺服器搭建、HTTP介紹。
PHP基礎:
PHP基礎語法、使用PHP處理簡單的GET或者POST請求、
AJAX上篇:
Ajax簡介和非同步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。
AJAX下篇:
JSON和JSON解析、數據綁定和模板技術、JSONP、跨域技術、圖片預讀取和lazy-load技術、JQuery框架中的AjaxAPI、使用Ajax實現爆布流案例額。
面向對象進階
面向對象終極篇:
從內存角度到理解JS面向對象、基本類型、復雜類型、原型鏈、ES6中的面向對象、屬性讀寫許可權、設置器、訪問器。
面向對象三大特徵:
繼承性、多態性、封裝性、介面。
設計模式:
面向對象編程思維、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。
封裝一個屬於自己的框架
框架封裝基礎:
事件流、冒泡、捕獲、事件對象、事件框架、選擇框架。
框架封裝中級:
運動原理、單物體運動框架、多物體運動框架、運動框架面向對象封裝。
框架封裝高級和補充:
JQuery框架雛形、可擴展性、模塊化、封裝屬於傳智自己的框架。
模塊化組件開發
面向組件編程:
面向組件編程的方式、面向組件編程的實現原理、面向組件編程實戰、基於組件化思想開發網站應用程序。
面向模塊編程:
AMD設計規范、CMD設計規范、RequireJS,LoadJS、淘寶的SeaJS。
主流的流行框架
Web開發工作流:
GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack。
MVC/MVVM/MVW框架:
Angular.js、Backbone.js、Knockout/Ember。
常用庫:
React.js、Vue.js、Zepto.js。
HTML5原生移動應用開發
Cordova:
WebApp/NativeApp/HybirdApp簡介、Cordova簡介、與PhoneGap之間的關系、開發環境搭建、Cordova實戰(創建項目,配置,編譯,調試,部署發布)。
Ionic:
Ionic簡介和同類對比、模板項目解析、常見組件及使用、結合Angular構建APP、常見效果(下拉刷新,上拉載入,側滑導航,選項卡)。
ReactNative:
ReactNative簡介、ReactNative環境配置、創建項目,配置,編譯,調試,部署發布、原生模塊和UI組件、原生常用API。
HTML5+:
HTML5+中國產業聯盟、HTML5PlusRuntime環境、HBuilder開發工具、MUI框架、H5+開發和部署。
Node.js全棧開發:
快速入門:
Node.js發展、生態圈、Io.js、Linux/Windows/OSX環境配置、REPL環境和控制台程序、非同步編程,非阻塞I/O、模塊概念,模塊管理工具、開發流程,調試,測試。
核心模塊和對象:
全局對象global,process,console,util、事件驅動,事件發射器、加密解密,路徑操作,序列化和反序列化、文件流操作、HTTP服務端與客戶端。
Web開發基礎:
HTTP協議,請求響應處理過程、關系型資料庫操作和數據訪問、非關系型資料庫操作和數據訪問、原生的Node.js開發Web應用程序、Web開發工作流、Node.js開發Blog案例。
快速開發框架:
Express簡介+MVC簡介、Express常用API、Express路由模塊、Jade/Ejs模板引擎、使用Express重構Blog案例、Koa等其他常見MVC框架。
最後學習計劃有啦,那就趕快開始學習吧!