深入理解angular2啟動(dòng)項(xiàng)目步驟
1. 創(chuàng)建項(xiàng)目文件夾
創(chuàng)建一個(gè)新的文件夾來保存你的項(xiàng)目,比如一開始有個(gè)self就好了
2.安裝基礎(chǔ)庫(kù)
首先確保已經(jīng)安裝了node.js
我們使用 npm package manager 來安裝需要的開發(fā)庫(kù)和開發(fā)工具。
打開終端窗口,輸入下面的命令。
npm install
如果在執(zhí)行npm install命令時(shí)沒有出現(xiàn)npm ERR!,一起都好??赡軙?huì)有幾個(gè)npm WARN消息,這也沒有影響。
我們會(huì)經(jīng)常在一連串的gyp ERR!(gyp: generate your project)消息后看到一個(gè)npm WARN消息。不用管他們。一個(gè)包會(huì)使用node-gyp重新編譯自己。如果重新編譯失敗,包會(huì)恢復(fù)(場(chǎng)使用一個(gè)預(yù)編譯版本),一切正常工作。
只要保證在npm install命令最后面沒有npm ERR!就好。
之后再執(zhí)行下面的命令
npm init -y npm i angular2@2.0.0-alpha.44 --save --save-exact npm i live-server --save-dev
這些命令將會(huì)創(chuàng)建名為 package.json 的項(xiàng)目文件,安裝相應(yīng)的軟件包,現(xiàn)在的 package.json 看起來應(yīng)該如下所示。
{ "name": "angular2-getting-started", "version": "1.0.0", "dependencies": { "angular2": "2.0.0-alpha.44" }, "devDependencies": { "live-server": "^0.8.1" } }
還需要一個(gè) scripts 的配置節(jié),找到并替換為如下的內(nèi)容, 如果在你的文件中沒有這個(gè)配置節(jié), 那就加上好了.
"scripts": { "start": "live-server" }
3. 第一個(gè) Angular Component
添加一個(gè)名為 app.js 的文件,輸入下面的內(nèi)容。
var AppComponent = ng .Component({ selector: 'my-app', template: '<h1>My First Angular 2 App</h1>' }) .Class({ constructor: function () { } });
我們正在創(chuàng)建一個(gè)名為 AppComponent 的可視組件,通過使用全局的 ng 命名空間下的 Component 和 Class 方法來完成。
var AppComponent = ng .Component({...}) .Class({...})
Component 方法需要一個(gè)包含兩個(gè)屬性的配置對(duì)象。selecter 屬性告訴 Angular 需要控制名為 "my-app" 的元素。一旦遇到 my-app 元素,Angular 將會(huì)創(chuàng)建和顯示 AppComponent 實(shí)例
template 屬性定義了組件的可視外觀。在這個(gè)示例中,我們使用了內(nèi)聯(lián)的模板,我們也可以把這個(gè)模板調(diào)整到一個(gè)模板文件中,然后通過 templateUrl 來關(guān)聯(lián)模板文件的名稱來使用它。
我們使用 Class 方法實(shí)現(xiàn)這個(gè)組件本身的內(nèi)容,可以定義屬性,方法并綁定到這個(gè)視圖
現(xiàn)在的組件是一個(gè)最小化的實(shí)現(xiàn),構(gòu)造函數(shù)中沒有內(nèi)容。在以后的示例中,我們會(huì)看到很多有趣的內(nèi)容。
4. 啟動(dòng)應(yīng)用
我們需要在應(yīng)用中做點(diǎn)什么,在 app.js 的最后,添加下面的內(nèi)容。
document.addEventListener('DOMContentLoaded', function() { ng.bootstrap(AppComponent); });
我們等到瀏覽器通知我們說,內(nèi)容已經(jīng)加載完成了,然后再調(diào)用 bootstrap 方法。
bootstrap 方法通知 Angular 使用 AppComponent 作為應(yīng)用的根來啟動(dòng)應(yīng)用,
應(yīng)該可以猜到, 在應(yīng)用變得復(fù)雜的情況下, 我們會(huì)創(chuàng)建一個(gè) Component 的樹來完成復(fù)雜的工作.
Wrapped in an IIFE
我們不希望污染全局命名空間,但是,現(xiàn)在還不需要應(yīng)用到命名空間,我們直接使用 IIFE ( Immediately Invoked Function Execution ) 來封裝我們的代碼。
(function() { var AppComponent = ng .Component({ selector: 'my-app', template: '<h1>My First Angular 2 App</h1>' }) .Class({ constructor: function () { } }); document.addEventListener('DOMContentLoaded', function() { ng.bootstrap(AppComponent); }); })();
5. 創(chuàng)建 index.html
在項(xiàng)目文件夾中添加名為 index.html 的頁面,內(nèi)容如下:
<html> <head> <title>Angular 2 QuickStart</title> <script src="node_modules/angular2/bundles/angular2.sfx.dev.js"></script> <script src="app.js"></script> </head> <body> <my-app></my-app> </body> </html>
在 head 中,我們的應(yīng)用加載了兩個(gè)腳本
angular2.sfx.dev.js, Angular2 的開發(fā)庫(kù)
app.js, 我們剛剛開發(fā)的腳本。
在 body 中,使用了名為 <my-app> 的元素,這是應(yīng)用的根的占位,Angular 將在這里顯示我們的應(yīng)用。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
angularJs在多個(gè)控制器中共享服務(wù)數(shù)據(jù)的方法
今天小編就為大家分享一篇angularJs在多個(gè)控制器中共享服務(wù)數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09使用AngularJS編寫較為優(yōu)美的JavaScript代碼指南
這篇文章主要介紹了使用AngularJS編寫較為優(yōu)美的JavaScript代碼指南,包括控制器和封裝等進(jìn)階技巧上的編程建議,傾力推薦!需要的朋友可以參考下2015-06-06angularjs利用directive實(shí)現(xiàn)移動(dòng)端自定義軟鍵盤的示例
下面小編就為大家?guī)硪黄猘ngularJS利用directive實(shí)現(xiàn)移動(dòng)端自定義軟鍵盤的示例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09angularjs $http實(shí)現(xiàn)form表單提交示例
這篇文章主要介紹了angularjs $http實(shí)現(xiàn)form表單提交示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06Angular CLI在Angular項(xiàng)目中如何使用scss詳解
angular-cli自身支持Scss預(yù)處理器,Scss比css更加方便靈活,而且層次清晰,代碼整潔。下面這篇文章主要給大家介紹了關(guān)于Angular CLI在Angular項(xiàng)目中如何使用scss的相關(guān)資料,需要的朋友可以參考下。2018-04-04AngularJS基于factory創(chuàng)建自定義服務(wù)的方法詳解
這篇文章主要介紹了AngularJS基于factory創(chuàng)建自定義服務(wù)的方法,結(jié)合實(shí)例形式分析了AngularJS使用factory創(chuàng)建自定義服務(wù)的具體步驟、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-05-05Angular應(yīng)用prerender預(yù)渲染提高頁面加載速度
這篇文章主要介紹了Angular應(yīng)用prerender預(yù)渲染提高頁面加載速度,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10從?Angular?Route?中提前獲取數(shù)據(jù)的方法詳解
這篇文章主要介紹了從?Angular?Route?中提前獲取數(shù)據(jù),通過本文,你將學(xué)會(huì)使用?resolver,?在?Angular?App?中應(yīng)用?resolver,應(yīng)用到一個(gè)公共的預(yù)加載導(dǎo)航,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07