前端伺服器搭建工具
⑴ web前端開發需要哪些工具
Web前端是一個新興職業,市場需求大,薪資待遇高,吸引了很多人加入學習。無論是初學小白亦或是自身前端開發人員,好用的軟體工具可以幫助他們更好的工作。今天千鋒武漢給大家分享一下Web前端開發用什麼軟體。
1、Sublime Text
Sublime Text是一個代碼編輯器也是HTML和散文先進的文本編輯器。漂亮的用戶界面和非凡的功能,例如迷你地圖,多選擇,Python的插件,代碼段,等等。完全可自定義鍵綁定,菜單和工具欄。Sublime Text的主要功能包括:拼寫檢查,書簽,完整的Python API,Goto功能,即時項目切換,多選擇,多窗口等等。
2、Dreamweaver
Adobe Dreamweaver使用所見即所得的介面,亦有HTML(標准通用標記語言下的一個應用)編輯的功能,藉助經過簡化的智能編碼引擎,輕松地創建、編碼和管理動態網站。 訪問代碼提示,即可快速了解 HTML、CSS 和其他Web標准。使用視覺輔助功能減少錯誤並提高網站開發速度。
3、Visual Studio Code
Visual Studio Code中文版是微軟推出的帶 GUI 的代碼編輯器,軟體功能非常強大,界面簡潔明晰、操作方便快捷,設計得很人性化。軟體主要改進了文檔視圖,完善了對 Markdown的支持,新增php語法高亮。
4、HBuilder
HBuilder是專為前端打造的開發工具,具有飛一樣的編碼、最全的語法庫和瀏覽器兼容數據、可以方便的製作手機APP、最保護眼睛的綠柔設計等特點。支持HTML、CSS、JS、PHP的快速開發。從開放注冊以來深受廣大前端朋友們的喜愛。
5、WebStorm
WebStorm 是jetbrains公司旗下一款javaScript 開發工具。目前已經被廣大中國JS開發者譽為「Web前端開發神器」、「最強大的HTML5編輯器」、「最智能的JavaScript IDE」等。與IntelliJ IDEA同源,繼承了IntelliJ IDEA強大的JS部分的功能。
想知道「Web前端開發用什麼軟體」,通過網上搜索你可以發現很多,而能否很好的藉助這些軟體完成項目,關鍵還要看你的技術。千鋒武漢網站上有以上這些工具的安裝包,需要的小夥伴自己去下載吧。
⑵ 前端的代碼怎麼部署到伺服器
1、安裝護衛神主機大師,一鍵配置全能網站環境
2、用主機大師開設網站,並綁定域名
3、解析域名到伺服器IP
4、FTP上傳前端代碼到伺服器
5、輸入域名即可訪問前端代碼了
⑶ 現在比較好用的前端開發工具有哪些啊
1. node.js + npm, 這個是前端工具的一個平台,沒有他們就沒有以下的工具,建立開發環境,下載開發工具,運行開發工具的利器
2. bower, 庫依賴管理器,類似於npm,但針對瀏覽器JavaScript的依賴管理,減少尋找庫,下載庫和升級庫的煩惱
3.grunt,流程自動化管理工具,將你非編程的開發步驟減到最小,grunt watch+liveReload或者grunt connect,可以使得免除你F5無盡地獄,發布和開發各種無壓力。以下大部分開發工具,都有grunt的相對應的插件,也就是說他們都能利用grunt進行自動化運行
5. 本人用less比較多,因為基本無縫兼容歷史遺留系統中的css,(而Sass語法比較特殊,還沒有專門用過,應該開發新系統的css比較好),一套css預編譯語言,可以把less語法轉成css語法,lessc是less語言編譯器,配合grunt less,編寫大型css文檔毫無壓力。
6.Phantomjs,沒有界面的瀏覽器,用js腳本控制其操作網頁。測試,抓圖,網頁流程自動化利器。配合casperjs的語法簡化功能真強庫後,控制Phantomjs就更加容易了
7. grunt PhotoBox, 利用phantomjs抓圖功能和ImageMagick圖片比較功能,在利用live-reload即時刷新功能,可以讓你開發css的時候,快速對n多個頁面進行觀察,看其前後變化。不過缺點也比較明顯,就是速度慢。但比起手動對比來看,還是非常快的。值得css開發時擁有
8. phantomCSS,這個和grunt photobox類似,都用於css開發的,差別是photobox是全局觀察差別,而這個是單元組件觀察差別,它方便你就抓頁面中某一塊元素然後進行前後比較,更加註重細節上的差異,這個比較合適組件開發時候使用。
9. jshint,幫助你快速定位JavaScript的語法錯誤和潛在的跨瀏覽器兼容性問題。在部署你JS前,用jshint檢查一下是沒錯的 。
10.UglifyJS,壓縮JavaScript代碼,使你的JS代碼可以更加快速的載入。有grunt的插件
11. browserify允許你在瀏覽器裡面使用CMD標准模塊,但本人認為它的另外一個優勢是合並代碼,開發時候可以把代碼模塊化,分成很多很多小文件,然後有調理的放到相對應文件夾下,然後最後合成單一文件。本人曾經利用browserify開發greasemonkey代碼,大大簡化了greasemonkey的開發難度和增強了greasemonkey代碼的質量。browserify有grunt插件,這樣又減少的開發步驟。
12. Karma, google開發的一個單元測試運行器,這個自己本身不是一個單元測試框架,而是配合測試單元框架的一個工具。由於前端瀏覽器眾多,就算你有live-reload這樣自動化工具,但是還是要手動打開各種瀏覽器,手動把你的單元測試在各個瀏覽器都運行一遍。這個工具目的是目的就是讓電腦能自動化打開各種瀏覽器,然後把單元測試在各個瀏覽器中自動運行一遍,讓這個步驟也能自動化了。
13.clean-css (grunt cssmin), 我用的是grunt cssmin,但是grunt cssmin實際上背後使用的是clean-css工具,這個工具就是用來壓縮精簡css的,讓css文件大小更小。
⑷ 前端搭建本地伺服器
前端使用vscode編輯器,安裝live serve插件
然後在vscode編輯器的右下角有 Go live 按鈕,點擊自動啟動本地伺服器
右鍵,使用Live Server打開;
1. 安裝node.js;
2. 安裝http-server
http-server詳細介紹,包括參數等: https://www.npmjs.com/package/http-server
在命令行中安裝到全局(-g表示安裝到全局,之後所有文件夾路徑下輸入http-server都可以使用):
操作: 運行cmd + 輸入以下命令:npm install http-server -g (可能會出現許可權問題,在npm前加上sudo)
3. 開啟服務
進入目標文件夾(也就是需要啟動服務的文件夾),shfit+右鍵 —— 「在此處打開Powershell窗口」,輸入如下命令:
hs -o (等同於 http-server -open)
本地伺服器就啟動起來了,默認埠為8080。
遇到問題:埠被佔用,修改埠:hs -o -p 8888
完畢!!
1、安裝全局anywhere,npm install anywhere -g
2、cmd中進入要啟動本地伺服器的靜態文件夾,執行命令:anywhere;
3、anywhere的網址: https://www.npmjs.com/package/anywhere
⑸ 前端構建工具Gulp.js 你知多少..(webpack/gulp/grunt)
@ TOC
閱讀本文章之前,相信你已經對前端構建工具(webpack、gulp、grunt)有一定的認知和了解了,那麼他們之間究竟有什麼區別呢?
gulp文檔上面有這么一句話 ,也就是說 gulp是一個自動化構建工具;
gulp的一些功能如下(包括但不限於):
其實Webpack和另外兩個並沒有太多的可比性
傻瓜式起步照搬官網文檔
1.安裝
2.在項目根目錄下創建一個名為 gulpfile.js 的文件:
3.運行 gulp:
默認的名為 default 的任務(task)將會被運行,在這里,這個任務並未做任何事情。
具體詳情可以查看 gulpjs.com文檔
新建一個項目gulp-test
環境:
1.新建文件以下文件如下
其中 gulpfile.js 是我們gulp的配置文件,啟動gulp默認會找個這個文件並執行;
2.接下來安裝依賴
一直按回車Enter初始化package.json文件(小技巧: npm iniy -y 可以免去繁瑣的enter步驟)
此時我們的目錄結構是這樣了
安裝依賴
這里頁面實時刷新只講這個 gulp-connect ,其他詳情可以參照 Browsersync 和文章 gulp-livereload
安裝完依賴後配置gulpfile.js如下:
大概講解一下gulpfile.js:
gulp.task 是gulp的api 定義一個使用 Orchestrator 實現的任務(task)
如上我們定義了 my-task-js , my-task-css , html , clean , default , watch , server 等任務,其中:
my-task-js 是將 符合所提供的匹配模式的js 進行檢測(gulp-jshint)、壓縮(gulp-uglify)、合並(gulp-concat)、重命名(gulp-rename)、輸出(gulp.dest)到/dist/js目錄下;
my-task-css 是將 符合所提供的匹配模式的sass進行編譯(gulp-sass)、壓縮(gulp-uglify)、合並(gulp-concat)、重命名(gulp-rename)、輸出(gulp.dest)到/dist/css目錄下;
html 是將 符合所提供的匹配模式的html進行監聽,如果有變化則connect.reload()
clean 是如果任務重新啟動時 刪除舊文件;
default gulp默認啟動的任務
watch gulp的api 監視文件,並且可以在文件發生改動時候做一些事情。它總會返回一個 EventEmitter 來發射(emit) change 事件。
server 依賴gulp-connect啟動一個伺服器
配置完gulpfile.js之後,我們給js和css及html加點東西:
首先js/helloworld.js
css/index.scss
index.html
運行gulp
瀏覽器效果:
接下來我們修改helloworld.js來看看是否能實時刷新
修改如下:
按保存之後,終端給我們報了一個錯:
查看js發現我們用了es6語法的聲明語句 但當前gulp無法處理es6語法,有問題解決問題,es6=>es5
解決方案:
安裝gulp-babel babel-core babel-preset-es2015
gulpfile.js修改如下:
運行
依然報上面的錯;找了一些原因發現,雖然安裝了相關依賴,卻沒有配置.babelrc文件,即babel還沒轉化es6
根目錄添加.babelrc文件
重新運行:
查看dist下的js文件
改變helloworld.js檢查頁面是否刷新
保存,頁面的天空藍換成你們喜歡的yellow顏色
修改index.scss 查看是否會刷新頁面
最後修改index.html 查看是否會刷新頁面
今天主要學習了gulp的簡單項目搭建及實時更新配置;其實gulp類似於grunt的弱化版,但更簡單好用,只是插件會少一些,目前主流的項目搭建工具主要是webpack,但依然有不少項目還用著gulp或者grunt
擴展:
下面還有一些樓主的學習筆記:
有興趣的可以多多交流@ 樓主博客
⑹ 前端為什麼需要構建工具
注: 在知乎上面幾年前回答的問題,搬過來給你看看吧
1. 【調試伺服器】首先如果你是一個准備做WEB開發實踐的,不管前端、後台,首先需要了解一兩種伺服器apache,tomcat,nginx啥的,至少能夠配置一個基本的本地服務和修改索引路徑,前端頁面使用http/https協議訪問,而不是本地文件協議(file協議下很多jsAPI都是受限的)。
2. 【調試自動更新】伺服器搭建好了,那麼現在開始調試網頁,然後你修改一點代碼,去瀏覽器裡面F5刷新頁面看看效果,再修改一點代碼,再去瀏覽器裡面F5刷新頁面看看效果...如此循環往復, maybe讓工具幫助你檢測本地文件修改然後實時刷新網頁更靠譜。
3. 【換種方式寫代碼】然後就是寫代碼了,less/sass是不錯的css組織工具,ES6也能讓你的javascript代碼顯得更嚴謹和邏輯清晰,要是能夠在訪問頁面的時候實時獲取css/babel(es6編譯器)編譯結果神馬的應該顯得很cool。
4. 【模塊化】當然在完成邏輯相對復雜的交互功能時候,可能需要你組織非常復雜的代碼功能,這個時候了解一下模塊化的開發思想顯得很有必要require.js事實上更早,也更廣泛一點,sea.js在國內也不錯。
5. 【模板引擎】然後就是對於js生成HTML(或者其他什麼的)的一種包裝方式, 即:js模板引擎(handlebars,jade), 你可以嘗試在開發時候使用這樣的模板工具生成自己想要的HTML文檔什麼的,也是一種不錯的體驗,這個就像你用less寫css代碼一樣,或者說用php,jsp這樣的服務端語言工具生成實時HTML頁面。
6. 【代理調試】有的時候你開發的東西並不只是前端代碼,牽扯到跟服務端應用之間的數據交互,難免需要使用ajax,ajax這貨基於安全考慮是不允許跨域的,因此可能需要通過代理的方式實現數據調試這樣的工具也有不少,nginx伺服器是其中的佼佼者。
7. 【資源合並優化】OK, 如果到完成開發階段,你需要提交自己開發的代碼到線上伺服器了,在提交之前,你需要考慮將開發的資源進行最優化(合並,壓縮神馬的), js方面有uglify,css有cssmin神馬的,圖片壓縮還可能根據不同的類型進行不同程度和配置的壓縮,這些事情交給別個工具處理顯得很有必要,要是能夠一鍵處理那簡直了, 網路的fis,業內最流行的grunt.js、gulp.js神馬的,事實上它們在配置化編譯LESS/Coffee這類工作在自己的流程中也很在行。
8. 【Combo】使用非同步模塊化開發帶來的弊端就是對於大量零碎依賴文件需要分別開辟多個http鏈接去獲取,這可不是一個好現象,要知道單個瀏覽器單域名並發獲取資源的數量是很有限的, 因此例如KISSY就支持了簡單配置一個combo參數來組織一個獲取nginx的 http-concat格式資源的路徑,當然這樣的動態合並模式也適用於普通的資源請求合並。
9.【資源緩存和更新】 CDN 能夠確保你已經發布到伺服器上的資源以最快的響應時間到達瀏覽器,但是帶來的問題是,你的代碼更新,CDN則傻乎乎的不理你,除非你在使用的地方告訴它需要更新了( 時間戳、MD5文件名啥的 )。
事實上,我覺著凡是重復進行的工作總有可以程序和代碼可以替你完成的部分,前端開發中這種事情尤其多,工具啥樣的自己去定義才最合適自己,而nodejs的出現使得前端自己可以方便的開發這類東西(上面的less、coffee、uglify、gruntjs、fis、gulp這些個單詞可以說:都依賴nodejs)。
PS: 感興趣可關注 f2e-server, 網路搜索關鍵字第一個就是官網。