最近在學習angular做后臺管理項目,所以把記錄一下開發流程。
準備工具gulp --用來自動化構建項目
angular --搭建項目
HTML編寫
components
組件
css
樣式
img
圖片
lib
依賴的框架(angular、Jq等都放在里面)
scripts
app.js(主要是路由配置)
index.html
首頁
angularDemo 這里是頭部 現在是{{pageName}}
"use strict"; var app = angular.module("app", [ "ui.router", "controller", "directive", "services", "templates" ]).config(["$stateProvider", "$urlRouterProvider", function($stateProvider, $urlRouterProvider) { $urlRouterProvider .otherwise(function(inject, location) { var path = location.$$path || ""; return "/index"; }) $stateProvider.state("index", { url: "/index", controller: "indexCtr", templateUrl: "components/index/index.html" }).state("module2", { url: "/module2", controller: "module2Ctr", templateUrl: "components/module2/module2.html" }).state("module3", { url: "/module3", controller: "module3Ctr", templateUrl: "components/module3/module3.html" }) }]).run(["$rootScope", "$state", function(rootScope, state) { //初始化 }]); angular.module("controller", []); angular.module("directive", []); angular.module("services", []); angular.module("templates", []);模塊的寫法
index.html
我是index.html
index.js
angular.module("controller") .controller("indexCtr", ["$scope", "$rootScope", "$http", function($scope, $rootScope, $http) { var vm = $scope.vm = {}; $rootScope.pageName = "index"; }]);packageJson
{ "name": "angular", "version": "1.0.0", "description": "angualr with gulp", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1", "dev": "gulp", "build": "gulp build" }, "repository": { "type": "git", "url": "https://git.coding.net/mumofa/angular_Gulp.git" }, "author": "", "license": "ISC", "devDependencies": { "browser-sync": "^2.12.8", "chokidar": "^1.5.1", "del": "^2.2.0", "event-stream": "^3.3.2", "gulp": "^3.9.1", "gulp-angular-templatecache": "^1.8.0", "gulp-concat": "^2.6.0", "gulp-minify-css":"^1.2.4", "gulp-sass": "^2.3.1", "gulp-uglify": "^1.5.3" } }gulp腳本編寫
var gulp = require("gulp"); var concat = require("gulp-concat"); //合并文件 var minifycss = require("gulp-minify-css"); //壓縮css var templateCache = require("gulp-angular-templatecache"); //壓縮 ng模板 var uglify = require("gulp-uglify"); // 壓縮 代碼 var es = require("event-stream"); // 事件插件 var del = require("del"); //刪除 var browserSync = require("browser-sync"); // 自動刷新 var chokidar = require("chokidar"); //監聽 //壓縮依賴的js代碼 gulp.task("libScripts", function() { var scriptsGlob = ["app/lib/jQuery/*.js", "app/lib/bootstrap/*.js", "app/lib/angular/angular.min.js", "app/lib/**/*.js" ]; return gulp.src(scriptsGlob) .pipe(uglify()) //壓縮 js代碼 .pipe(concat("lib.min.js")) // 拼接成 一個js .pipe(gulp.dest("dist/js")) //輸出到指定目錄 }); //壓縮ng代碼 gulp.task("ngScripts", function() { var scriptsGlob = [ "!app/lib/**/*.js", "app/scripts/app.js", "app/**/*.js" ]; var tpl = gulp.src("app/**/*.html") .pipe(templateCache()); /*return gulp.src(scriptsGlob) .pipe(uglify()) //壓縮 js代碼 .pipe(concat("business.min.js")) // 拼接成 一個js .pipe(gulp.dest("dist/js")) //輸出到指定目錄*/ return es.merge(es.merge( gulp.src(scriptsGlob), tpl ) // .pipe(uglify()) // .pipe(concat("business.min.js")) .pipe(concat("business.js"))) .pipe(gulp.dest("dist/js")); }); //輸出HTML gulp.task("distHtml",function(){ return gulp.src("app/index.html") .pipe(gulp.dest("dist")) }); //壓縮css gulp.task("minifyCss", function() { var cssSrc = [ "app/css/bootstrap/**/*.css", "app/css/Font-Awesome/**/*.css", "app/css/system.css", "app/css/**/*.css" ]; return gulp.src(cssSrc) //壓縮的文件 .pipe(minifycss()) //執行壓縮 .pipe(concat("all.min.css")) // 拼接成 一個js .pipe(gulp.dest("dist/css")); //輸出到指定目錄 }); //清空 輸出 gulp.task("clean", function(cb) { del(["dist"], cb); }); //gulp運行的時候 gulp.task("default", ["init"]); gulp.task("watch",["watch:css","watch:ng","watch:html"]); gulp.task("init", ["libScripts","distHtml", "ngScripts", "minifyCss"]); gulp.task("browser-sync", ["init","watch"], function() { browserSync.init({ server: { baseDir: ["app"] }, middleware: [function(req, res, next) { next(); }], port: 80 }); }); //監聽css gulp.task("watch:css", function() { var cssSrc = [ "app/css/bootstrap/**/*.css", "app/css/Font-Awesome/**/*.css", "app/css/system.css", "app/css/**/*.css" ]; gulp.watch(cssSrc,["minifyCss"], browserSync.reload); }); //監聽js和html模板 gulp.task("watch:ng", function() { var jsSrc = [ "!app/lib/**/*.js", "app/scripts/app.js", "app/**/*.js" ]; var tplSrc = "app/**/*.html"; gulp.watch(jsSrc,["ngScripts"], browserSync.reload); gulp.watch(tplSrc,["ngScripts"], browserSync.reload); }); //監聽html gulp.task("watch:html", function() { var htmlSrc = ["app/index.html"]; gulp.watch(htmlSrc,["distHtml"], browserSync.reload); }); process.on("uncaughtException", function(e){console.log(e.stack)})最后項目演示
基本上按照上述流程,都可以正常開發項目了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79635.html
摘要:需要在每次發布前刪除和目錄總任務服務啟動一個服務器服務器從哪個路徑開始讀取,默認從開發路徑讀取自動刷新打開瀏覽器監聽定義任務 一 安裝gulp和bower gulp安裝: npm install -g gulp bower安裝: npm install -g bower ==注:== angularjs的一些包文件我們是通過bower來管理的 二 bower使用 使用bower初始化...
流行框架 簡介 angularjs是一款非常優秀的前端高級JS框架,由谷歌團隊開發維護,能夠快速構建單頁web應用,化繁為簡 無論是angularjs還是jQuery都是用原生JS封裝的 庫:對代碼進行封裝,調用封裝的方法,簡化操作 傳統方式是用get方式獲取元素,然后點方法 jQuery庫實現了對獲取方式的封裝,對方法的封裝 框架:提供代碼書寫規則,按照規則去寫代碼,框架會幫我們實現響應的功能...
摘要:相比于開發人員的數量,目前框架類庫和工具的數量似乎更多一些。本文將會討論目前最為流行的客戶端框架類庫和工具以及它們之間的基本差異。典型的類庫包括字符串處理日期元素事件動畫網絡請求等功能。所以不需要明確的區分類庫框架和工具。 相比于JavaScript開發人員的數量,目前JavaScript框架、類庫和工具的數量似乎更多一些。截至2017年5月,GitHub上的快速搜索顯示,有超過110...
摘要:本文重點是詳細介紹項目的構建。是優秀的自動化項目構建工具,我們將用它完成等文件的的測試檢查合并壓縮格式化瀏覽器自動刷新部署文件生成,并監聽文件在改動后重復指定的這些步驟熱重載。是項目依賴管理工具。環境需求運行在環境,首先安裝。 本文重點是詳細介紹Angular.js項目的構建。gulp是優秀的自動化項目構建工具,我們將用它完成 javascript/less/css/html/imag...
摘要:博主目前的這個項目還不算很大,模塊依賴簡單,但期望完成諸如版本號替換,壓縮代碼,合并文件,發布到服務器等和模塊化關系不大的工作,所以使用了。同時,對和附加緩存,配合和版本號實現服務器更新,這一部分其實已經幫我們實現好了。 經常在各種論壇、博客還有 github 上活躍的朋友不難發現,許多大牛都有自己的網站,也多以博客為主。博主作為一個立志前端的大白,難道不應該和大牛學習么?說干就干,前...
閱讀 2993·2021-10-12 10:17
閱讀 1594·2021-09-01 11:38
閱讀 1086·2019-08-30 15:44
閱讀 3483·2019-08-26 18:36
閱讀 514·2019-08-26 13:25
閱讀 1890·2019-08-26 10:29
閱讀 2840·2019-08-23 15:58
閱讀 763·2019-08-23 12:59