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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

requirejs与anjularjs框架

發布時間:2023/12/2 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 requirejs与anjularjs框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.目錄

?

2.首頁login.html如下:

<!DOCTYPE html>
<html>
<head>
<title>登錄界面</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<link rel="stylesheet" href="/css/bootstrap.min.css">
</head>
<body>
<div class="container" ng-controller="login-controller">
<form class="col-sm-offset-4 col-sm-4 form-horizontal" role="form" method="post" name="myForm" novalidate>
<fieldset>
<legend>用戶登錄</legend>
<div class="form-group">
<label class="col-sm-3 control-label" for="username">用戶名</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="username" name="username" ng-model="username" placeholder="用戶名111" required/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="password">密碼</label>
<div class="col-sm-9">
<input type="password" class="form-control" id="password" name="password" ng-model="password" placeholder="密碼" required/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<button ng-disabled="myForm.$invalid" ng-click="login()" type="button" class="btn btn-primary">登錄</button>
</div>
</div>
</fieldset>
</form>
</div>
<script type='text/javascript' src='/lib/jquery.min.js'></script>
<script type='text/javascript' src='/lib/bootstrap.min.js'></script>
<script type='text/javascript' src='/lib/require.js' data-main='/bootstrap/main.js'></script>
</body>
</html>

? ? ?首先需要引入requirejs,指明入口函數(data-main中設定),平時我們自動加載會在html元素上用(ng-app),這里我們采用手動加載的方式。

index.html

<!DOCTYPE html>
<html>
<head>
<title>index</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<link rel="stylesheet" href="/css/bootstrap.min.css">
</head>
<body>
<div>index 頁面!</div>
<script type='text/javascript' src='/lib/jquery.min.js'></script>
<script type='text/javascript' src='/lib/bootstrap.min.js'></script>
<script type='text/javascript' src='/lib/require.js' data-main='/bootstrap/main.js'></script>
</body>
</html>  

3.main.js(主要配置下所需的js文件)

require.config({
paths: {
'angular': '../angular/angular',
'angular-cookies': '../angular/angular-cookies',
'angular-route': '../angular/angular-route'
} ,
shim: {
'angular': {
exports: 'angular'
},
'angular-cookies': {
deps: ['angular']
},
'angular-route': {
deps: ['angular']
}
},
deps:['bootstrap']
});

  這里主要是需要requirejs異步載入,而deps:['bootstrap']主要是讓我先加載這個文件。

4.配置手動加載的文件bootstrap.js

require(['angular', 'angular-cookies','angular-route','../modules/login-module','../controllers/login-controller'], function (angular) {
'use strict';
//手動啟動
angular.bootstrap(document, ['login-module']);
});

5.login-module(主要是路由的設置)

define(['angular'], function (ng) {
'use strict';

var app = ng.module('login-module', ['ngCookies']);

return app;
});

6.login-controller(控制器)

define(['../modules/login-module'], function(app) {
'use strict';

app.controller('login-controller',['$scope',function($scope){

$scope.login=function(){
if($scope.username!=""&&$scope.password!=""){
location.href="/";
}
}

}])
});

7.app.js

var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser');var routes = require('./routes/index'); var login = require('./routes/login');var app = express();// view engine setup app.set('views', path.join(__dirname, 'views')); //app.set('view engine', 'ejs'); app.engine('html', require('ejs').renderFile); app.set('view engine', 'html'); //app.set('view engine', 'html');// uncomment after placing your favicon in /public //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public')));app.use('/', routes); app.use('/login', login);// catch 404 and forward to error handler app.use(function(req, res, next) {var err = new Error('Not Found');err.status = 404;next(err); });// error handlers// development error handler // will print stacktrace if (app.get('env') === 'development') {app.use(function(err, req, res, next) {res.status(err.status || 500);res.render('error', {message: err.message,error: err});}); }// production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) {res.status(err.status || 500);res.render('error', {message: err.message,error: {}}); });module.exports = app;

 8.路由

login.js

var express = require('express'); var router = express.Router();/* GET users listing. */ router.get('/', function(req, res, next) {res.render('login',{title:"用戶登錄"}); })module.exports = router;

index.js

var express = require('express'); var router = express.Router();/* GET home page. */ router.get('/', function(req, res, next) {res.render('index', { title: 'Express' }); });module.exports = router;

 


更多專業前端知識,請上 【猿2048】www.mk2048.com

總結

以上是生活随笔為你收集整理的requirejs与anjularjs框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。