亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angular項目構建的方法是什么

發布時間:2021-11-17 15:59:34 來源:億速云 閱讀:113 作者:iii 欄目:web開發

本篇內容介紹了“Angular項目構建的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

(1) 不用requirejs直接構建Angular

之所以不使用requirejs就直接構建angular,因為angular對于依賴的管理以及angular的使用場景完全可以做到這一點.首先在以來上,angular的依賴注入是個好東西,不了解的同學可以去搜一下資料.我這里簡單的說,就是當我需要一個module的時候,我不用管它在哪,它是什么.我只要知道它的名字然后告訴angular就可以了,至于怎么將它的對象傳遞過來,怎么找到的,angular自己會去處理.

angular.module('myApp', [    'ngRoute',  ]);

例如這里的ngRoute,我需要知道ngRoute怎么來的,在哪里.只要有一個模塊定義為ngRoute我就可以直接拿來用。

鑒于Angular如此的給力,剩下的事情就好辦了.我們只需要從功能和業務兩方面將文件劃分成module就可以了,然后將所有的庫文件在頁面上通過script標簽引用,再將所有的業務文件也即是我們自己寫的js合并為一個all.js加載到頁面上即可。

這里文件的劃分遵循angular官方的推薦方式:

|--js
   |--app.js                     // app啟動文件,用于app配置
   |--controllers.js          // controllers也就是存放我們自己的業務文件
   |--directives.js            // 指令文件(指令可共用)
   |--fliters.js                  // 過濾器文件(過濾器可共用)
   |--services.js             //  服務文件(可共用,一般是與服務器交互的服務)
|--partials
   |--html1.html  
   |--html2.html
|--index.html

app.js

'use strict';    // Declare app level module which depends on filters, and services  angular.module('myApp', [    'ngRoute',    'myApp.filters',    'myApp.services',    'myApp.directives',    'myApp.controllers' ]).  config(['$routeProvider', function($routeProvider) {    $routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'MyCtrl1'});    $routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: 'MyCtrl2'});    $routeProvider.otherwise({redirectTo: '/view1'});  }]);

controllers.js

'use strict';   /* Controllers */  angular.module('myApp.controllers', [])    .controller('MyCtrl1', ['$scope', function($scope) {     }])    .controller('MyCtrl2', ['$scope', function($scope) {     }]);

directives.js

'use strict';   /* Directives */   angular.module('myApp.directives', []).    directive('appVersion', ['version', function(version) {      return function(scope, elm, attrs) {        elm.text(version);      };    }]);

filters.js

'use strict';   /* Filters */  angular.module('myApp.filters', []).    filter('interpolate', ['version', function(version) {      return function(text) {        return String(text).replace(/\%VERSION\%/mg, version);      };    }]);

services.js

'use strict';   /* Services */   // Demonstrate how to register services  // In this case it is a simple value service.  angular.module('myApp.services', []).    value('version', '0.1');

index.html

<!DOCTYPE html> <!--[if lt IE 7]>      <html ng-app="myApp" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]>         <html ng-app="myApp" class="no-js lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]>         <html ng-app="myApp" class="no-js lt-ie9"> <![endif]--> <!--[if gt IE 8]><!--> <html ng-app="myApp"> <!--<![endif]--> <head>   <meta charset="utf-8">   <meta http-equiv="X-UA-Compatible" content="IE=edge">   <title>My AngularJS App</title>   <meta name="description" content="">   <meta name="viewport" content="width=device-width, initial-scale=1">   <link rel="stylesheet" href="bower_components/html5-boilerplate/css/normalize.css">   <link rel="stylesheet" href="bower_components/html5-boilerplate/css/main.css">   <link rel="stylesheet" href="css/app.css"/>   <script src="bower_components/html5-boilerplate/js/vendor/modernizr-2.6.2.min.js"></script> </head> <body>   <ul>     <li><a href="#/view1">view1</a></li>     <li><a href="#/view2">view2</a></li>   </ul>    <!--[if lt IE 7]>       <p>You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>   <![endif]-->    <div ng-view></div>    <div>Angular seed app: v<span app-version></span></div>    <!-- In production use:    <script src="//ajax.googleapis.com/ajax/libs/angularjs/x.x.x/angular.min.js"></script>   -->   <script src="bower_components/angular/angular.js"></script>   <script src="bower_components/angular-route/angular-route.js"></script>   <script src="js/app.js"></script>   <script src="js/services.js"></script>   <script src="js/controllers.js"></script>   <script src="js/filters.js"></script>   <script src="js/directives.js"></script> </body> </html>

如此在不使用requirejs的情景下,項目就構建完成了.還有幾個補充點就是其一你可以將controllers繼續拆分為多個controller模塊,這里可以完全按照你的業務進行劃分.比如user目錄下userController等等.然后將所有這些我們自己寫的文件通過grunt或者gulp進行合并為一個單獨的總的文件all.js這樣在頁面中除了庫文件只要這一個文件就行了.angular的module所帶來的好處就是這樣合并的文件,不用在乎js合并的順序,因為它是通過angular依賴注入的。

(2) 通過requirejs構建

這種方式的構建可能對于某些人來講更加清晰,結構和上面的基本一樣,多了一個man.js用來配置requirejs,單獨拆分出routes.js以及一個controller文件夾通過requirejs將controller一個個拆分出來,按需的異步加載。

index.html

<!doctype html> <html ng-app> <head> <title>Angular-RequireJS sample app</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" media="all" href="app/css/app.css" /> </head> <body > <h2>AngularJS + RequireJS</h2> <ul> <li><a href="#/view1">View 1</a></li> <li><a href="#/view2">View 2</a></li> </ul> <div ng-view></div> <script data-main="app/js/main" src="/bower_components/requirejs/require.js"></script> </body> </html>

main.js

require.config({      paths: {          angular: '../../bower_components/angular/angular',          angularRoute: '../../bower_components/angular-route/angular-route',          angularMocks: '../../bower_components/angular-mocks/angular-mocks',          text: '../../bower_components/requirejs-text/text'     },      shim: {          'angular' : {'exports' : 'angular'},          'angularRoute': ['angular'],          'angularMocks': {              deps:['angular'],              'exports':'angular.mock'         }      },      priority: [          "angular"     ]  });   //http://code.angularjs.org/1.2.1/docs/guide/bootstrap#overview_deferred-bootstrap  window.name = "NG_DEFER_BOOTSTRAP!";   require( [      'angular',      'app',      'routes' ], function(angular, app, routes) {      'use strict';      var $html = angular.element(document.getElementsByTagName('html')[0]);       angular.element().ready(function() {          angular.resumeBootstrap([app['name']]);      });  });

app.js

define([      'angular',      'filters',      'services',      'directives',      'controllers',      'angularRoute',      ], function (angular, filters, services, directives, controllers) {          'use strict';           // Declare app level module which depends on filters, and services                    return angular.module('myApp', [              'ngRoute',              'myApp.controllers',              'myApp.filters',              'myApp.services',              'myApp.directives'         ]);  });

controllers.js

define(['angular', 'services'], function (angular) {      'use strict';       /* Controllers */           return angular.module('myApp.controllers', ['myApp.services'])          // Sample controller where service is being used          .controller('MyCtrl1', ['$scope', 'version', function ($scope, version) {              $scope.scopedAppVersion = version;          }])          // More involved example where controller is required from an external file          .controller('MyCtrl2', ['$scope', '$injector', function($scope, $injector) {              require(['controllers/myctrl2'], function(myctrl2) {                  // injector method takes an array of modules as the first argument                  // if you want your controller to be able to use components from                  // any of your other modules, make sure you include it together with 'ng'                  // Furthermore we need to pass on the $scope as it's unique to this controller                  $injector.invoke(myctrl2, this, {'$scope': $scope});              });          }]);  });

directives.js

define(['angular', 'services'], function(angular, services) {      'use strict';     /* Directives */      angular.module('myApp.directives', ['myApp.services'])          .directive('appVersion', ['version', function(version) {              return function(scope, elm, attrs) {                  elm.text(version);          };      }]);  });

filters.js&zwj;

define(['angular', 'services'], function (angular, services) {      'use strict';       /* Filters */         angular.module('myApp.filters', ['myApp.services'])          .filter('interpolate', ['version', function(version) {              return function(text) {                  return String(text).replace(/\%VERSION\%/mg, version);              };      }]);  });

routes.js

define(['angular', 'app'], function(angular, app) {      'use strict';       return app.config(['$routeProvider', function($routeProvider) {          $routeProvider.when('/view1', {              templateUrl: 'app/partials/partial1.html',              controller: 'MyCtrl1'         });          $routeProvider.when('/view2', {              templateUrl: 'app/partials/partial2.html',              controller: 'MyCtrl2'         });          $routeProvider.otherwise({redirectTo: '/view1'});      }]);   });

services.js

define(['angular'], function (angular) {      'use strict';          /* Services */    // Demonstrate how to register services    // In this case it is a simple value service.      angular.module('myApp.services', [])          .value('version', '0.1');  });

controllers文件夾中一個單獨controlle文件,myCtrl2.js

define([], function() {      return ['$scope', '$http', function($scope, $http) {          // You can access the scope of the controller from here          $scope.welcomeMessage = 'hey this is myctrl2.js!';           // because this has happened asynchroneusly we've missed          // Angular's initial call to $apply after the controller has been loaded          // hence we need to explicityly call it at the end of our Controller constructor          $scope.$apply();      }];  });

“Angular項目構建的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

饶平县| 淮阳县| 章丘市| 嘉荫县| 哈巴河县| 威海市| 新宾| 霞浦县| 会东县| 肃南| 罗平县| 太仆寺旗| 寿光市| 冀州市| 五原县| 永定县| 陈巴尔虎旗| 林西县| 保定市| 特克斯县| 田东县| 兰坪| 张家界市| 垦利县| 亳州市| 宣化县| 汕头市| 宁海县| 水城县| 万全县| 浏阳市| 页游| 陆丰市| 新营市| 内乡县| 乐亭县| 瑞金市| 沾益县| 普定县| 柯坪县| 巴马|