創(chuàng)建 Web 前端開發(fā)環(huán)境
Web 前端開發(fā)涉及多種工具,這里將常用工具的安裝和配置進(jìn)行說明,提供了詳細(xì)的說明,為后繼的開發(fā)創(chuàng)建一個(gè)堅(jiān)實(shí)的基礎(chǔ)。
本文介紹的工具有:NodeJS, NPM, Bower, Git 和 Grunt。
1. 安裝 NodeJS 和 NPM
一切從 NodeJS 開始吧,官方網(wǎng)址:https://nodejs.org/
NodeJS 既可以為我們提供一個(gè)服務(wù)器端的 Web 環(huán)境,又可以提供一個(gè)命令行的工具,既然做 Web 前端開發(fā),那就是我們必然選擇的工具了。
為了解決包管理的問題,NodeJS 自己搞了一個(gè)包管理工具,你可以看成是 Visual Studio 中的 Nugut 就好了。不過,這個(gè)工具太好用了,現(xiàn)在自己已經(jīng)自立門戶,所以,你也可以單獨(dú)安裝它。
NPM 官方網(wǎng)址:https://www.npmjs.com。
有的時(shí)候,在國(guó)內(nèi)訪問 NPM 不太方便,原因你懂得,淘寶在國(guó)內(nèi)架設(shè)了一個(gè) CNPM 服務(wù)器,幫我們同步 NPM 中的模塊,這個(gè) CNPM 的地址為:http://npm.taobao.org,淘寶大法好。
具體如何配置 Node.js 和 NPM,我已經(jīng)整理過一篇 配置 node.js 環(huán)境,可以用來參考。
地址:http://www.cnblogs.com/haogj/p/3969536.html
使用 npm 的 init 命令可以直接交互式創(chuàng)建一個(gè) NodeJS 的項(xiàng)目文件 package.json.
PS C:Studyframework> npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (framework)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to C:Studyframeworkpackage.json:
{
“name”: “framework”,
“version”: “1.0.0”,
“description”: “”,
“main”: “index.js”,
“dependencies”: {
“grunt”: “^0.4.5”,
“grunt-contrib-jshint”: “^0.11.2”
},
“devDependencies”: {},
“scripts”: {
“test”: “echo ”Error: no test specified“ && exit 1”
},
“author”: “”,
“l(fā)icense”: “ISC”
}
Is this ok? (yes)
這時(shí)候,當(dāng)前目錄下,會(huì)出現(xiàn)一個(gè)名為 package.json 的 NodeJS ,或者說是 NPM 的項(xiàng)目模板。如果你喜歡簡(jiǎn)單快捷的話,不喜歡一步一步地回答這些問題,還可以加上一個(gè)參數(shù) -y,將所有文件的答案默認(rèn)為回答yes。
npm init [-f|--force|-y|--yes]
2. 安裝 Bower
注:現(xiàn)在不推薦 Bower了,你可以跳過這一段。
NPM 可以管理 node.js 的模塊,可以,我們準(zhǔn)備做 Web 前端開發(fā),現(xiàn)在的目標(biāo)不是 node.js 的服務(wù)器端開發(fā),所以,我們更加需要在瀏覽器上使用的 javascript 模塊,這就不能全靠 NPM 了,Bower 是一個(gè) Web 前端模塊的包管理工具,有了它,我們就不必到各個(gè)網(wǎng)站去找各種前端模塊,比如 jquery,bootstrap 等等,直接使用這個(gè)工具就可以搞定了。按照官方說法:Bower manages all these things for you.
Bower 的圖標(biāo)是一只小鳥,很漂亮。查了一下,它叫園丁鳥,鳥類的建筑大師,雄鳥在求偶期會(huì)用樹枝筑拱門或亭子,鳥中的工匠呀。
官網(wǎng)地址:http://bower.io,你也可以在 GitHub 上找到它:https://github.com/bower/bower
安裝 bower 需要使用 NPM,命令很簡(jiǎn)單。
$ npm install -g bower
安裝之后,可以直接使用 bower 命令來管理。下面是使用說明。
bower 會(huì)將管理的包保存到 bower_components/ 目錄下面。
使用 init 進(jìn)行初始化。
PS C:Studyframework> bower init
? name: framework
? version: 0.0.0
? description:
? main file:
? what types of modules does this package expose? amd
? keywords:
? authors:
? license: MIT
? homepage:
? set currently installed components as dependencies? Yes
? add commonly ignored files to ignore list? Yes
? would you like to mark this package as private which prevents it from being accidentally published to the registry? (y
? would you like to mark this package as private which prevents it from being accidentally published to the registry? Yes
{
name: ‘framework’,
version: ‘0.0.0’,
moduleType: [
‘a(chǎn)md’
],
license: ‘MIT’,
ignore: [
‘**/.*’,
‘node_modules’,
‘bower_components’,
‘test’,
‘tests’
]
}
? Looks good? Yes
可以看到幫助創(chuàng)建的 bower.json 配置文件的內(nèi)容。
使用 bower 獲取前端庫(kù)很方便,命令類似與 NPM
當(dāng)前目錄下會(huì)增加一個(gè) bower_components 文件夾,包含獲取的前端包。不過你不能獲取 kendoUI 的庫(kù),這是一個(gè)商業(yè)項(xiàng)目。
bower 工作的時(shí)候需要 node, npm 和 git.
還沒有 git ?先等一下,我們?cè)賮硪粋€(gè)工具 git。
3. 安裝 git
如果你不知道 git ,總該聽說過 GitHub 吧,就是這只小黑貓 。不過,我們這里說的是 git ,而不是 GitHub。
Git是一個(gè)分布式的版本控制系統(tǒng),最初由 Linus Torvalds 編寫,Torvalds 著手開發(fā) Git 是為了作為一種過渡方案來替代 BitKeeper,后者之前一直是 Linux 內(nèi)核開發(fā)人員在全球使用的主要源代碼工具。開放源碼社區(qū)中的有些人覺得 BitKeeper 的許可證并不適合開放源碼社區(qū)的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統(tǒng)。
后來 Git 在其它項(xiàng)目中也取得了很大成功。GitHub 是使用 git 技術(shù)的一個(gè)代碼托管網(wǎng)站,提供基于 Web 的訪問界面。是目前最為流行的源代碼管理網(wǎng)站。
Git 官網(wǎng)地址:http://www.git-scm.com
Git 下載地址:http://www.git-scm.com/downloads
安裝非常簡(jiǎn)單,Windows 版本下載之后,會(huì)得到一個(gè)安裝程序,直接安裝就可以。
在命令行直接執(zhí)行 git 可以得到幫助說明。
在前端開發(fā)過程中,我們不用直接使用 git,有的時(shí)候 bower 會(huì)自動(dòng)調(diào)用 git 來獲取代碼。
4. 安裝 Grunt
如果你選擇 Webpack 的話,可以跳過這一段。這里是 Webpack 的安裝說明。
對(duì)于需要反復(fù)重復(fù)的任務(wù),例如壓縮(minification)、編譯、單元測(cè)試、linting等,自動(dòng)化 Grunt 工具可以減輕你的勞動(dòng),簡(jiǎn)化你的工作。
官網(wǎng)地址:http://gruntjs.com
Grunt和 Grunt 插件是通過 npm 安裝并管理的。
詳細(xì)的說明可以從 這里開始。
在安裝 Grunt 前,請(qǐng)確保當(dāng)前環(huán)境中所安裝的 npm 已經(jīng)是最新版本,執(zhí)行 npm update -g npm 指令進(jìn)行升級(jí)(在某些系統(tǒng)中可能需要 sudo 指令)。
如果你已經(jīng)安裝了 Grunt,現(xiàn)在需要參考一些文檔手冊(cè),那就請(qǐng)看一看 Gruntfile 實(shí)例 和如何 配置任務(wù)吧。
安裝 CLI
在繼續(xù)學(xué)習(xí)前,你需要先將Grunt命令行(CLI)安裝到全局環(huán)境中。安裝時(shí)可能需要使用sudo(針對(duì)OSX、*nix、BSD等系統(tǒng)中)權(quán)限或者作為管理員(對(duì)于Windows環(huán)境)來執(zhí)行以下命令。
npm install -g grunt-cli
上述命令執(zhí)行完后,grunt 命令就被加入到你的系統(tǒng)路徑中了,以后就可以在任何目錄下執(zhí)行此命令了。
顯示 Grunt 版本,注意是大寫的 V,小寫的 v 就是另外一個(gè)意思了。
>grunt -V
grunt-cli v0.1.13
grunt v0.4.5
Grunt 使用的項(xiàng)目文件稱為 Gruntfile.js。如果還沒有 Gruntfile.js 文件,直接執(zhí)行 grunt,會(huì)看到如下的提示信息。
PS C:Studyframework> grunt
grunt-cli: The grunt command line interface. (v0.1.13)
Fatal error: Unable to find local grunt.
If you‘re seeing this message, either a Gruntfile wasn’t found or grunt
hasn‘t been installed locally to your project. For more information about
installing and configuring grunt, please see the Getting Started guide:
http://gruntjs.com/getting-started
這是說沒有在當(dāng)前目錄下找到 grunt 的項(xiàng)目文件。
grunt 的項(xiàng)目文件稱為 Gruntfile.js,注意第一個(gè)字符可是大寫的,在跨平臺(tái)的時(shí)候,這就是一個(gè)坑了。
讓我們寫一個(gè) Grunt 版的 Hello, world 來完成環(huán)境的準(zhǔn)備。
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON(’package.json‘),
});
grunt.registerTask(’default‘, ’Hello, world task description.‘, function() {
grunt.log.writeln(’Hello, world.‘);
});
};
這里,我們創(chuàng)建了一個(gè)自定義的任務(wù),設(shè)置名稱為 default,實(shí)際執(zhí)行的時(shí)候,會(huì)輸出 Hello, world.
PS C:Studyframework> grunt
Running “default” task
Hello, world.
Done, without errors.
5. 安裝 Webpack
這里是 Webpack 的安裝說明。
就到這里吧。下次再見。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論