搭建Angular開發環境

開發環境
-nodejs版本v6.10.1
-package manager使用bower
-安裝Angular版本1.3.7
-安裝Angular route版本1.3.7
-頁面呈現方式采用SPA(Single-page Application)(另介紹)
-編程模式采用MVC
-開發平臺在window 10
-開發路徑在D:\myWeb
-IDE使用WebStorm 10.0.3

一、在你的計算機安裝node.js及bower(另介紹)
二、初始化bower.json文件(另介紹)
三、現在myWeb文件夾下會多個bower.json檔案


四、安裝angular及angular route(--save的意思是把安裝的信息存到bower.json中)

bower install angular#1.3.7 --save
bower install angular-route#1.3.7 --save

五、現在myWeb文件夾下會多個bower_components文件夾,里面存放著使用bower install安裝的所有components。


六、現在手動新建一個文件夾app來放置我們未來寫的所有程序代碼。


七、假設我們現在要做一個有關訂單管理的功能,該功能的所有代碼我們新建一個文件夾order來存放,并在該文件夾下新建js及views文件夾,分別存放js及html文件;另在order下新建入口頁面index.html。


八、由于是SPA的關系,在order的項目我們設定訪問index.html,該項目下所有用到的js及css都必須在這個頁面引入。先引入angular.js及angular-route.js,前者是angular的核心代碼,后者是路由的核心代碼。

<script src="../../bower_components/angular/angular.min.js"></script>
<script src="../../bower_components/angular-route/angular-route.min.js"></script>

九、接著我們在html把菜單加上。


頁面目前顯示


十、開始寫angular
1.定義一個myOrder模塊,myOrder模塊下可以定義自己的controllers、services、factories和directives等。
我們在js目錄下新建app.js來定義模塊。

angular.module('myOrder', [])

2.假定我們在order項目下有兩個頁面,一個是描述order信息,另一個描述vendor信息。
(1)建立order信息的controller及view名稱叫orderList:
由圖中可以看見我們在js下方新建文件夾controller來放置這個模塊下所有的controller,目前只有一個orderListController.js文件,該controller內部有個變量名稱pageName。

angular.module('myOrder')
.controller('orderList', [function () {
        var it = this;
        it.pageName = 'This is Order List page';
}])

建立order信息的頁面叫orderList.html,頁面代碼只有3行,就是顯示pageName的值。

<div>
    {{ctrl.pageName}}
</div>

(2)同樣的方式我們建立vendor信息的controller及view名稱叫vendorList:

angular.module('myOrder')
.controller('vendorList', [function () {
        var it = this;
        it.pageName = 'This is Vendor List page';
}])

3.現在頁面都建立好了,還差一步設定路由:
首先,angular的route已經抽象成模塊ngRoute,我們使用前需要在我們的myOrder模塊內先引入,并在js文件夾下新建route.js用來設定路由。

angular.module('myOrder', [
    'ngRoute'
])

接著在route.js設定orderList、vendorList及默認路由

angular.module('myOrder')
    .config(['$routeProvider', function ($routeProvider) {
        $routeProvider.when('/orderList', {
            templateUrl: 'views/orderList.html',
            controller: 'orderList as ctrl'
        });
        $routeProvider.when('/vendor', {
            templateUrl: 'views/vendorList.html',
            controller: 'vendorList as ctrl'
        })
        .otherwise({redirectTo: '/'});
    }])

接著在order項目的單一頁面index.html中,設定ng-app及ng-view,并依序引入app.js、route.js及controller的js檔案。

<body ng-app="myOrder">
<h2>index page</h2>
<ul>
    <li><a href="#/orderList">Order page</a></li>
    <li><a href="#/vendor">Vendor page</a></li>
    <li><a href="#/asdfsdfds">Notexistent route</a></li>
</ul>

<div ng-view></div>

<script src="../../bower_components/angular/angular.min.js"></script>
<script src="../../bower_components/angular-route/angular-route.min.js"></script>

<script src="js/app.js"></script>
<script src="js/route.js"></script>

<script src="js/controller/orderListController.js"></script>
<script src="js/controller/vendorListController.js"></script>

</body>

十一、測試小成果


待續:
gulp壓縮

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容