当前位置: 首页 > news >正文

徐州手机网站新闻热点事件2023最新

徐州手机网站,新闻热点事件2023最新,wordpress 创建页面,中国建设银行人事网站目录 开发环境  1、建立工程  2、目录结构  3、Express配置文件  4、Ejs模板  5、安装常用库及页面分离  6、路由  7、session  8、页面访问控制及提示JS是脚本语言#xff0c;脚本语言都需要一个解析器才能运行。对于写在HTML页面里 的JS#xff0c;浏览器充…  目录   开发环境  1、建立工程  2、目录结构  3、Express配置文件  4、Ejs模板  5、安装常用库及页面分离  6、路由  7、session  8、页面访问控制及提示   JS是脚本语言脚本语言都需要一个解析器才能运行。对于写在HTML页面里 的JS浏览器充当了解析器的角色。而对于需要独立运行的JSNodeJS就是一个解析器。每一种解析器都是一个运行环境不但允许JS定义各种数据结 构进行各种计算还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM浏览器就提供了 document之类的内置对象。而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器NodeJS就相应提供了fs、http等内 置对象。Express作为NodeJS的Web应用框架可以帮助我们快速开发Web网站。   开发环境 NodeJSv0.10.30npm1.4.21OSWin7旗舰版 32bitExpress4.2.0MongoDB2.6.3 1 2 E:\project node -v v0.10.30 E:\project npm -v 1.4.21 E:\project express -V 4.2.0       1、建立工程   使用express命令建立工程并支持ejs     根据提示下载依赖包 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 E:\project cd .\nodejs-demo E:\project\nodejs-demo npm install npm WARN deprecated static-favicon1.0.2: use serve-favicon module static-favicon1.0.2 node_modules\static-favicon debug0.7.4 node_modules\debug ejs0.8.8 node_modules\ejs cookie-parser1.0.1 node_modules\cookie-parser ├── cookie-signature1.0.3 └── cookie0.1.0 morgan1.0.1 node_modules\morgan └── bytes0.3.0 body-parser1.0.2 node_modules\body-parser ├── qs0.6.6 ├── raw-body1.1.7 (bytes1.0.0, string_decoder0.10.25-1) └── type-is1.1.0 (mime1.2.11) express4.2.0 node_modules\express ├── parseurl1.0.1 ├── utils-merge1.0.0 ├── cookie0.1.2 ├── merge-descriptors0.0.2 ├── escape-html1.0.1 ├── range-parser1.0.0 ├── fresh0.2.2 ├── cookie-signature1.0.3 ├── debug0.8.1 ├── methods1.0.0 ├── buffer-crc320.2.1 ├── serve-static1.1.0 ├── path-to-regexp0.1.2 ├── qs0.6.6 ├── send0.3.0 (debug0.8.0, mime1.2.11) ├── accepts1.0.1 (negotiator0.4.7, mime1.2.11) └── type-is1.1.0 (mime1.2.11) E:\project\nodejs-demo       工程建立成功启动服务 1 E:\project\nodejs-demo npm start nodejs-demo0.0.1 start E:\project\nodejs-demo node ./bin/www         本地3000端口被打开在浏览器地址栏输入localhost:3000访问成功。   2、目录结构 bin——存放命令行程序。node_modules——存放所有的项目依赖库。public——存放静态文件包括css、js、img等。routes——存放路由文件。views——存放页面文件ejs模板。app.js——程序启动文件。package.json——项目依赖配置及开发者信息。 1 2 3 4 5 6 7 8 9 10 11 E:\project\nodejs-demo dir     目录: E:\project\nodejs-demo Mode                LastWriteTime     Length Name ----                -------------     ------ ---- d----         2014/8/16     21:55 bin d----         2014/8/16     22:03 node_modules d----         2014/8/16     21:55 public d----         2014/8/16     21:55 routes d----         2014/8/16     21:55 views -a---         2014/8/16     21:55       1375 app.js -a---         2014/8/16     21:55        327 package.json       3、Express配置文件   打开app.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 var express require(express); var path require(path); var favicon require(static-favicon); var logger require(morgan); var cookieParser require(cookie-parser); var bodyParser require(body-parser); var routes require(./routes/index); var users require(./routes/users); var app express(); // view engine setup app.set(views, path.join(__dirname, views)); app.set(view engine, ejs); app.use(favicon()); app.use(logger(dev)); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser()); app.use(express.static(path.join(__dirname, public))); app.use(/, routes); app.use(/users, users); /// 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;       4、Ejs模板   修改app.js让ejs模板文件使用扩展名为html的文件 1 2 3 4 5 13 // view engine setup 14 app.set(views, path.join(__dirname, views)); 15 //app.set(view engine, ejs); 16 app.engine(html, require(ejs).renderFile); 17 app.set(view engine, html);         修改完成后重命名views/index.ejs为views/index.html。重启服务访问成功。   5、安装常用库及页面分离   添加bootstrap和jQuery E:\project\nodejs-demo npm install bootstrap bootstrap3.2.0 node_modules\bootstrap E:\project\nodejs-demo npm install jquery jquery2.1.1 node_modules\jquery E:\project\nodejs-demo   接下来把index.html分成三个部分 header.html——页面头部区域。index.html——页面内容区域。footer.html——页面底部区域。  header.html 1 2 3 4 5 6 7 8 9 !DOCTYPE html html langen head     meta charsetutf-8     title% title %/title     !-- Bootstrap --     link href/stylesheets/bootstrap.min.css relstylesheet mediascreen /head body screen_capture_injectedtrue       index.html 1 2 3 4 1 % include header.html % 2 h1% title %/h1 3 pWelcome to % title %/p 4 % include footer.html %     footer.html   1 2 3 4 5 6 script src/javascripts/jquery.min.js/script  script src/javascripts/bootstrap.min.js/script  /body  /html          重启服务访问成功。   6、路由   登录设计 访问路径页面描述/index.html不需要登录可以直接访问。/homehome.html必须用户登录以后才可以访问。/loginlogin.html登录页面用户名密码输入正确自动跳转到home.html。/logout无退出登录后自动跳转到index.html。  打开app.js文件增加路由配置 1 2 3 4 5 26 app.use(/, routes); 27 app.use(/users, users); 28 app.use(/login, routes); 29 app.use(/logout, routes); 30 app.use(/home, routes);     打开routes/index.js文件添加对应方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 var express require(express); var router express.Router(); /* GET home page. */ router.get(/, function(req, res) {   res.render(index, { title: Express }); }); router.route(/login) .get(function(req, res) {     res.render(login, { title: 用户登录 }); }) .post(function(req, res) {     var user{         username: admin,         password: 123456     }     if(req.body.username user.username req.body.password user.password){         res.redirect(/home);     }     res.redirect(/login); }); router.get(/logout, function(req, res) {     res.redirect(/); }); router.get(/home, function(req, res) {     var user{         username:admin,         password:123456     }     res.render(home, { title: Home, user: user }); }); module.exports router;       创建views/login.html和views/home.html两个文件   login.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 % include header.html % div classcontainer     form classcol-sm-offset-4 col-sm-4 form-horizontal roleform methodpost         fieldset             legend用户登录/legend             div classform-group                 label classcol-sm-3 control-label forusername用户名/label                 div classcol-sm-9                     input typetext classform-control idusername nameusername placeholder用户名 required                 /div             /div             div classform-group                 label classcol-sm-3 control-label forpassword密码/label                 div classcol-sm-9                     input typepassword classform-control idpassword namepassword placeholder密码 required                 /div             /div             div classform-group                 div classcol-sm-offset-3 col-sm-9                     button typesubmit classbtn btn-primary登录/button                 /div             /div         /fieldset     /form /div % include footer.html %       home.html 1 2 3 4 1 % include header.html % 2 h1Welcome % user.username %, 欢迎登录/h1 3 a classbtn href/logout退出/a 4 % include footer.html %      修改index.html增加登录链接   1 2 3 4 1 % include header.html % 2     h1Welcome to % title %/h1 3     pa href/login登录/a/p 4 % include footer.html %     路由及页面已准备好重启服务访问成功。     7、session   安装中间件express-session 1 2 3 4 5 E:\project\nodejs-demo npm install express-session express-session1.7.5 node_modules\express-session ├── cookie0.1.2 ├── cookie-signature1.0.4 ├── on-headers1.0.0 ├── utils-merge1.0.0 ├── parseurl1.3.0 ├── buffer-crc320.2.3 ├── depd0.4.4 ├── debug1.0.4 (ms0.6.2) └── uid-safe1.0.1 (base64-url1.0.0, mz1.0.0) E:\project\nodejs-demo       安装中间件connect-mongodb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 E:\project\nodejs-demo npm install connect-mongodb \ kerberos0.0.3 install E:\project\nodejs-demo\node_modules\connect-mongodb\nod e_modules\mongodb\node_modules\kerberos (node-gyp rebuild 2 builderror.log) || (exit 0) | E:\project\nodejs-demo\node_modules\connect-mongodb\node_modules\mongodb\node_mo dules\kerberosnode C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\ ..\..\node_modules\node-gyp\bin\node-gyp.js rebuild | bson0.2.11 install E:\project\nodejs-demo\node_modules\connect-mongodb\node_m odules\mongodb\node_modules\bson (node-gyp rebuild 2 builderror.log) || (exit 0) E:\project\nodejs-demo\node_modules\connect-mongodb\node_modules\mongodb\node_mo dules\bsonnode C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\. .\node_modules\node-gyp\bin\node-gyp.js rebuild connect-mongodb1.1.5 node_modules\connect-mongodb ├── connect1.9.2 (mime1.2.11, formidable1.0.15, qs1.2.2) └── mongodb1.4.8 (kerberos0.0.3, readable-stream1.0.27-1, bson0.2.11) E:\project\nodejs-demo       安装中间件mongodb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 E:\project\nodejs-demo npm install mongodb - kerberos0.0.3 install E:\project\nodejs-demo\node_modules\mongodb\node_module s\kerberos (node-gyp rebuild 2 builderror.log) || (exit 0) - E:\project\nodejs-demo\node_modules\mongodb\node_modules\kerberosnode C:\Progr am Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\b in\node-gyp.js rebuild | bson0.2.11 install E:\project\nodejs-demo\node_modules\mongodb\node_modules\b son (node-gyp rebuild 2 builderror.log) || (exit 0) E:\project\nodejs-demo\node_modules\mongodb\node_modules\bsonnode C:\Program F iles\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\n ode-gyp.js rebuild mongodb1.4.8 node_modules\mongodb ├── kerberos0.0.3 ├── readable-stream1.0.27-1 (isarray0.0.1, string_decoder0.10.25-1, inheri ts2.0.1, core-util-is1.0.1) └── bson0.2.11 (nan1.2.0) E:\project\nodejs-demo       添加database/settings.js和database/msession.js这两个文件   settings.js 1 2 3 4 5 6 7 8 9 module.exports {     COOKIE_SECRET: ywang1724.com,     URL: mongodb://127.0.0.1:27017/nodedb,     DB: nodedb,     HOST: 127.0.0.1,     PORT: 27017,     USERNAME: admin,     PASSWORD: 123456 };       msession.js   1 2 3 4 5 6 1 var Settings require(./settings); 2 var Db require(mongodb).Db; 3 var Server require(mongodb).Server; 4 var db new Db(Settings.DB, new Server(Settings.HOST, Settings.PORT, {auto_reconnect:true, native_parser: true}),{safe: false}); 5 6 module.exports db;         修改app.js文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 var express require(express); var path require(path); var favicon require(static-favicon); var logger require(morgan); var cookieParser require(cookie-parser); var bodyParser require(body-parser); //采用connect-mongodb中间件作为Session存储  var session require(express-session);  var Settings require(./database/settings);  var MongoStore require(connect-mongodb);  var db require(./database/msession); var routes require(./routes/index); var users require(./routes/users); 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.use(favicon()); app.use(logger(dev)); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser()); //session配置 app.use(session({     cookie: { maxAge: 600000 },     secret: Settings.COOKIE_SECRET,     store: new MongoStore({          username: Settings.USERNAME,         password: Settings.PASSWORD,         url: Settings.URL,         db: db}) })) app.use(function(req, res, next){     res.locals.user req.session.user;     next(); }); app.use(express.static(path.join(__dirname, public))); ......       修改index.js文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 var express require(express); var router express.Router(); /* GET home page. */ router.get(/, function(req, res) {     res.render(index, { title: Express }); }); router.route(/login) .get(function(req, res) {     res.render(login, { title: 用户登录 }); }) .post(function(req, res) {     var user {         username: admin,         password: 123456     }     if(req.body.username user.username req.body.password user.password){         req.session.user user;         res.redirect(/home);     } else {         res.redirect(/login);     } }); router.get(/logout, function(req, res) {     req.session.user null;     res.redirect(/); }); router.get(/home, function(req, res) {     res.render(home, { title: Home }); }); module.exports router;       本地安装数据库MongoDB新建用户nodedb。重启服务访问成功。   8、页面访问控制及提示   访问控制设计 访问路径描述/任何人都可以访问不需要认证。/home拦截get请求调用authentication()进行认证不通过则自动跳转到登录页面。/login任何人都可以访问不需要认证。/logout任何人都可以访问不需要认证。  修改index.js文件 1 2 3 4 5 6 7 8 9 10 router.get(/home, function(req, res) {     authentication(req, res);     res.render(home, { title: Home }); }); function authentication(req, res) {     if (!req.session.user) {         return res.redirect(/login);     } }       重启服务访问成功。   添加页面提示修改app.js文件增加res.locals.message 1 2 3 4 5 6 7 8 9 10 app.use(function(req, res, next) {     res.locals.user req.session.user;     var err req.session.error;     delete req.session.error;     res.locals.message ;     if (err) {         res.locals.message div classalert alert-warning err /div;     }     next(); });       修改index.js文件增加req.session.error 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 var express require(express); var router express.Router(); /* GET home page. */ router.get(/, function(req, res) {     res.render(index, { title: Express }); }); router.route(/login) .get(function(req, res) {     if (req.session.user) {         res.redirect(/home);     }     res.render(login, { title: 用户登录 }); }) .post(function(req, res) {     var user {         username: admin,         password: 123456     }     if (req.body.username user.username req.body.password user.password) {         req.session.user user;         res.redirect(/home);     } else {         req.session.error用户名或密码不正确;         res.redirect(/login);     } }); router.get(/logout, function(req, res) {     req.session.user null;     res.redirect(/); }); router.get(/home, function(req, res) {     authentication(req, res);     res.render(home, { title: Home }); }); function authentication(req, res) {     if (!req.session.user) {         req.session.error请先登录;         return res.redirect(/login);     } } module.exports router;       修改login.html增加%- message %   1 2 3 5 legend用户登录/legend 6 %- message % 7 div classform-group         重启服务访问成功。输入错误用户名密码 转载于:https://www.cnblogs.com/winyh/p/6681422.html
http://www.zqtcl.cn/news/654174/

相关文章:

  • 周口seo 网站郑州建站网站的公司
  • 网站布局模板北京装修大概多少钱一平方
  • 德阳网站建设ghxhwl风景网站模板
  • 昌邑网站建设拓者设计吧现代效果图
  • 学校网站建设成功案例网站开发需要学习哪些内容
  • 怎么让公司建设网站seo于刷网站点击
  • 网站建设合同严瑾建设网站宣传
  • 哪个网站做餐饮推广最好深圳市信任网站
  • 网站模板 整站源码广州网站vi设计报价
  • 百度速页建站wordpress审核插件
  • 怎么给网站wordpress专业的vi设计公司
  • 百度关键词在线优化寻找郑州网站优化公司
  • 网站建设适合什么单位网络推广员工作内容
  • 漂亮的网站维护页面wordpress加个微信登录
  • 网站设计是什么意思创建地址怎么弄
  • nas上建设网站文章网站哪里建设好
  • 消防网站模板广告设计专业需要学什么
  • 建设银行网站首页wordpress 登录函数
  • 做网站多长时间广州营销网站制作
  • 美团外卖网站开发建设网站如何写文案
  • 专门做画册封面的网站开发工程师网站开发工程师招聘
  • 广州市建设局网站自己做电影网站违法
  • 网站建设首选公司大丰专业做网站
  • 用dw怎么做网站辽宁省住房和城乡建设厅网站首页
  • 如何用微信小程序做网站2个网站做的链接怎么用一个域名
  • 大理网站建设滇icp备凡科网站代码如何修改
  • 做电商网站的公司简介网站制作多久
  • 营销手段有哪些方式合肥网站优化服务网
  • 网站备案和域名备案山东临沂市建筑模板生产厂家
  • 三类安全员证查询系统网站建设优化服务机构