日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Angularjs Nodejs Grunt 一个例子

發(fā)布時(shí)間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Angularjs Nodejs Grunt 一个例子 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

做了一個(gè)簡(jiǎn)單的示例,目的是記錄環(huán)境配置以及這套框架的結(jié)構(gòu)流程。

1.配置環(huán)境

默認(rèn)nodejs已安裝。

安裝以下模塊:express(nodejs框架),grunt(javascript task runner),grunt-contrib-watch(grunt live load插件),grunt-express-server(grunt啟動(dòng)express服務(wù)端插件)。

命令行中進(jìn)入程序目錄,依次輸入以下命令:

npm install express 回車

npm install grunt ?回車

npm install grunt-contrib-watch 回車

npm install grunt-express-server 回車

安裝成功后,可以在程序目錄中的node_modules文件夾里看到相應(yīng)的模塊文件夾:



2.配置grunt 任務(wù)

打開(kāi)程序目錄下的Gruntfile.js文件,注冊(cè)express和watch任務(wù)。

express任務(wù)啟動(dòng)express服務(wù)器并且運(yùn)行server.js文件。watch任務(wù)監(jiān)視express任務(wù)以及l(fā)ive reload。代碼如下:

module.exports = function(grunt) {//config projectgrunt.initConfig({watch: {options: {livereload: true,},express: {files: [ 'server.js' ],options: {spawn: false}}},//start express server and run server.jsexpress: {options: {// Override defaults here},dev: {options: {script: 'server.js'}}}});//enable pluginsgrunt.loadNpmTasks('grunt-express-server');grunt.loadNpmTasks('grunt-contrib-watch');//register taskgrunt.registerTask('default', ['express','watch']); };
3. 主要文件

serve_data.js,server.js和index.html都在程序目錄下。

index.html用angularjs resource向服務(wù)器上的‘/data’路徑發(fā)起http請(qǐng)求。

在server.js中定義了路徑‘/data’的行為是返回通過(guò)serve_data.js文件中的getData()方法獲取的data變量。

index.html 的resource收到返回的data后,通過(guò)數(shù)據(jù)綁定{{data}}將其顯示在頁(yè)面上。

三個(gè)文件具體代碼及注釋如下:

index.html:

<!DOCTYPE html> <html> <head> <scriptsrc="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"></script> <scriptsrc="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular-resource.min.js"></script> </head> <body ng-app="myApp" ng-controller=MainCtrl><div>{{data}}</div><script>var myApp = angular.module('myApp', [ 'ngResource' ]);//define app factorymyApp.factory('DataFac', function($resource) {//request data from route '/data'return $resource('data');});//define app controllermyApp.controller('MainCtrl', function($scope, DataFac) {DataFac.get(function(response) {$scope.data = response;})});</script> </body> </html>
server.js:

//use express var express = require('express'); var app = express();//require file serve_data.js to use its exported modules var instance=require('./serve_data.js') var data=instance.getData();//define route app.get('/data',function(req,res){res.send(data); });//serve static index.html as default app.use(express.static(__dirname + '/'));//bind and listen for connections on the given host and port app.listen(9001,function(){console.log('Server listening on',9001) })


serve_data.js:

//export funtion getData module.exports={getData:function(){//data can be fetched from a database or a file and so on. Here for simplicity,provide json data directlyvar data={"widget": {"debug": "on","window": {"title": "Sample Widget","name": "main_window","width": 500,"height": 500},"image": { "src": "Images/test.png","hOffset": 250,"vOffset": 250,"alignment": "center"},"text": {"data": "Click Here","size": 36,"style": "bold","name": "text1","hOffset": 250,"vOffset": 100,"alignment": "center"}}} ;return data;} }
4.運(yùn)行程序

在命令行中進(jìn)入程序目錄,輸入grunt運(yùn)行g(shù)runt任務(wù)。打開(kāi)瀏覽器進(jìn)入http://localhost:9001/ ?,得到以下結(jié)果:




總結(jié)

以上是生活随笔為你收集整理的Angularjs Nodejs Grunt 一个例子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。