首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs

传递了title和users对象作为参数。...: 'Express'时,从显示效果来看,他直接输出HTML标签到页面上,输出的是转义后的变量值 2.   而这个标签,从显示效果上看,他没有直接输出HTML代码到页面上...,输出的是没有转义后的变量值 3.   而这个标签,从显示上看,他循环了出来参数中的值,标签中是javascript逻辑代码,注意括号的开闭合   在这里,简单认识一下ejs,下面开始看看express...app.use来使用;path参数可以不填,默认为'/'  (项目中用到的就不分别解释了,用到的时候自已查一API的中间件部分)   app.use(express.static(path.join(_...这段表示,router.get表示通过get请求/时,响应后面的function处理,两个参数分别是request、response;   res.render表示调用模版引擎解析名字index的模板,传并传入了

3.7K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识

    如果要做一个网站应用,不可避免的会遇到表单的提交及获取参数的值,下面我们来看看用node.js + express怎么做 先来构建一个表单简单模拟登录GET方式提交数据    1.打开subform.ejs...(稍后在后面再去讲得到值的方式和区别) 再来在上面的代码基础上去修改一下表单的method简单模拟登录POST方式提交数据   1.首先修改一下subform.ejs文件中的form标签,修改为如下:...buffer处理 (input_encoding可为'utf-8'、'ascii'等)   digest([encoding])方法,计算数据的hash摘要值,encoding是可选参数,不传则返回buffer...,不展开了,要不然这篇文章就更杂了^_^!)...,显示已登录,没有则显示一个登录按钮,点此按钮,记录session 1.首先通过npm安装这个中间件,打开package.json文件,在dependencies节点下添加一个键值对  "express-session

    2.8K70

    软件测试|Python函数参数之必传参数、默认参数、可变参数、关键字参数的详细使用

    Python函数参数类型必传参数:最常用的,必传确定数量的参数默认参数:在调用函数时可以传也可以不传,如果不传将使用默认值可变参数:可变长度参数关键字参数:长度可变,但是需要以 key-value 形式传参必传参数必传参数是指在调用函数时必须提供的参数...如果在调用函数时没有传递对应的参数,函数将使用默认值。...在第一个调用中,只传递了必传参数"Bob",默认参数greeting 使用了它的默认值,输出结果为"Hello, Bob!"。...默认参数的使用可以使函数调用更加灵活,可以根据需求选择是否传递该参数,如果不传递则使用默认值。...关键字参数的主要特点是可以不按照定义顺序传递参数,并且可以只传递部分参数。关键字参数的使用可以增加函数调用的可读性,避免参数顺序混淆的问题。

    52020

    Node 概念及中间件

    ` * `exports.属性2 = 值2` * 导出的都是属性,可导出任何类型的值 * 但导入的只是对象,通过对象的属性执行默认导出只输出一次 * 默认导出只输出第一个值 * `module.exports...module = require("路径")[i]` * `const module = require("路径").属性` * 没有导出,引入的就是空对象 * 引入路径:支持任何类型 * 不指定路径...app.use(cookieSession({ name: "test_session", // 保存到服务器的session的名字 keys: ["a", "b", "c"], // [必传参数...使用 let ejs = require('ejs') ejs.renderFile('ejs模板文件',{要合并到html数据},回调(err,data)) // err:错误,...null代表没有错误 // data:渲染后的字符|流 // ejs模板:后缀名为ejs的html文件 ejs语法 * ejs 结构就是html * 输出: <%= 数据名|属性名|变量名

    5.5K20

    一文讲解前端路由、后端路由、单页面应用、多页面应用

    在SEO角度讲单页面应用天生对SEO不友好,因为整个页面都是通过JS渲染的,搜索引擎爬虫只能抓取到一个根节点,但是后端路由是经过后端自带的模板框架渲染的(ejs,jsp)已经在服务器拼接好了HTML对搜索引擎蜘蛛会更倾向与后端路由...单页面应用 优势: 实际上并不存在页面切换问题,因为整个网站只有一个HTML,通过预先加载好的JS控制页面显示会更流畅,而且可以附加各种动画和过度效果,用户体验更好。...,我们需要的是保证大部分三大框架优点的同时解决此问题,如果你们网站是纯静态的推荐使用预渲染,如果是根据AJAX动态更新的推荐使用NextJs/NuxtJs等服务器渲染框架 3.页面中传值问题 基本分为通过...url传值和加密传值,url传值基本为 window.location.href=href/param方法修改路径或者?...a=1&b=2,加密传值类似React的state传值 4.本站的技术栈选择 博客网站是及其注重SEO的因此前台选择了NextJs服务器渲染,前后端分离也更加方便了开发,后台管理采用了Vue3客户端渲染主要节约服务器资源以及更快的切换页面

    2.5K20

    【架构师(第十七篇)】脚手架之 ejs 和 glob 的使用

    第二种用法 用于只渲染一次模板的时候 const renderedTemplate = ejs.render(html, data, options) console.log(' ~ renderedTemplate...第一种,只传入三个参数,会返回一个 Promise const renderedFile = ejs.renderFile(path.resolve(__dirname, 'template.html'...%: script 标签,用于流程控制,不会输出在页面上 <%_: 删除其前面的空格符 <%=: 输出数据到模板(输出是转义 HTML 字符串) <%-: 输出非转义的数据到模板 不执行...: users}); // => 'geddy | neil | alex' 自定义文件加载器 默认的文件加载器是 fs.readFileSync,如果想要自定义它, 设置 ejs.fileLoader...若字符在中括号中,则匹配。若以 ! 或 ^ 开头,若字符不在中括号中,则匹配 !(pattern|pattern|pattern) 不满足括号中的所有模式则匹配 ?

    1.3K10

    Fluid -20- 使用 Fluid 注入功能实现背景视频

    也就是说,我们又要调整项目代码功能,又要保持项目足够“干净”,以便享受将来的更新,此时代码注入的价值便显现出来了 注入代码 Hexo 注入 Hexo 注入器 是 Hexo 5 版本自身加入的一项新功能...第三个参数是注入的页面类型,接受以下值: 参数 含义 default 注入到每个页面(默认值) home 只注入到主页(is_home() 为 true 的页面) post 只注入到文章页面...) category 只注入到分类页面(is_category() 为 true 的页面) tag 只注入到标签页面(is_tag() 为 true 的页面) 或是其他自定义 layout...如果你想充分修改主题,又不想直接修改源码影响日后更新,本主题提供了代码注入功能,可以将代码无侵入式加入到主题里。...进入博客目录下 scripts 文件夹(如不存在则创建),在里面创建任意名称的 js 文件,在文件中写入如下内容: 1 2 3 4 hexo.extend.filter.register('theme_inject

    72710

    带你零基础入门express

    那么如果突然有一天,比如就现在,一个从服务端到前端全部都需要你来完成的任务交给你,当然,对于大牛来说无论是用一门后端语言或是用node来完成可能都是很简单的事情,但是如果你不懂后端语言,node写的也不咋地...到了entry point 这一项,是给你创建一个入口文件,其他教程应该都是改成了app.js,我就不!我这里入口文件的名字是test.js。...来当模板,用ejs来渲染出第一个Hello World页面。...().address var port = server.address().port console.log(“启动成功") }) 到这里这个test程序就写完了,但是肯定还跑不起来...//链接数据库 var connection = mysql.createConnection(config); connection.connect(); //获取传进来的参数

    4.9K570

    React内部是如何实现cache方法的?

    对于如下代码,被cache包裹的函数,当多次调用时,如果传参不变,会始终返回缓存值: const cacheFn = cache(fn); cacheFn(1, 2, 3); // 不会执行fn,直接返回缓存值...如果参数不变,则使用缓存的值。...(3, 2, 1); 区别处理引用类型、原始类型参数 举个例子,当同一位置的参数传递了同一个引用类型值,则返回缓存值: const cacheFn = cache(fn); const obj = {...如果所有传参都相同,那么会复用完整的cacheNode链,此时最后一个cacheNode节点为「中止」状态,则不需要重新执行cacheFn方法计算返回值,而是直接返回缓存的值(cacheNode.v)。...如果后续执行cacheFn,传入新的参数,则前后的cacheNode链不会一致。

    1.2K30

    Nodejs开发框架Express3.0开发手记–从零开始

    exports.home = function(req, res){ res.render('home', { title: 'Home'}); }; 这个时候session已经起作用了,exports.home的user显示传值已经被去掉了...原理是在框架内每次赋值,把我们刚才手动传值的过程,让框架去完成了。 8. 页面提示 登陆的大体我们都已经讲完了,最后看一下登陆失败的情况。...我们希望如果用户登陆时,用户名或者密码出错了,会给用户提示,应该如何去实现。...login,用all拦截所有访问/login的请求,先调用authentication,用户登陆检查 /logout,用get拦截访问/login的请求,先调用notAuthentication,用户不登陆检查...如果你也出现图片显示的内容,那么恭喜你了。 Nodejs使用Express3.0框架的第一步你已经完成了,并且还使用了ejs,bootstrap,mongoose库的使用。 希望此文对大家有所帮助。

    5.8K120

    搭建自己的技术博客系列(五)hexo博客接入busuanzi插件,展示访问量和网站运行时间

    ,如果你是用的hexo,打开themes/你的主题/layout/_partial/footer.ejs添加上述脚本即可,当然你也可以添加到 header 中。...二、安装标签(可选) 只需要复制相应的html标签到你的网站要显示访问量的位置即可。您可以随意更改不蒜子标签为自己喜欢的显示效果,内容参考第三部分扩展开发。根据你要显示内容的不同,这分几种情况。...busuanzi_container_site_pv"> 本站总访问量次 算法b:uv的方式,单个用户连续点击n篇文章,只记录...hexo,打开themes/你的主题/layout/_partial/footer.ejs添加即可。...,暂不支持在站点文章摘要列表中(如首页)逐个显示每篇文章的阅读次数,如果您非常需要这一功能,可以留言。

    1.6K00

    05_模板引擎

    <%_ 删除其前面的空格符 <%= 输出数据到模板(输出是转义 HTML 标签) <%- 输出非转义的数据到模板 不执行、不输出内容 <%% 输出字符串 ‘<%’ %> 一般结束标签...-%> 删除紧随其后的换行符 _%> 将结束标签后面的空格符删除 插值表达式 可以把对应的key的值显示在页面上,可以直接把html标签内容展示 innerText 可以把对应的key的值显示在页面上,会把html渲染 innerHTML 条件渲染 条件为true时显示 <% }...) template() template是ejs.compile调用后的返回值,它可以叫任意名字。...let html = template({str: "Hello World"}) html就是最终生成的HTML代码 ejs可以帮助我们更好的渲染对应的html,如果遇到渲染中需要有条件判断和循环,

    8810

    Hexo添加PWA支持

    short_name: {string} 应用短名称,用于主屏幕显示 theme_color: {Color} css色值theme_color 属性可以指定 PWA 的主题颜色。...应遵循如下规则: 如果没有在 manifest 中设置 scope,则默认的作用域为 manifest.json 所在文件夹; scope 可以设置为 ../ 或者更高层级的路径来扩大PWA的作用域;...start_url 必须在作用域范围内; 如果 start_url 为相对地址,其根路径受 scope 所影响; 如果 start_url 为绝对地址(以 / 开头),则该地址将永远以 / 作为根地址...如果需要填写多个尺寸,则使用空格进行间隔,如”48x48 96x96 128x128” type {string} 图标的 mime 类型,非必填项,该字段可让浏览器快速忽略掉不支持的图标类型 sw.js...gulp压缩的方式,就执行下面的命令: gulp build 如果没有采用,则执行下面的命令: hexo clean && hexo g -d 部署到代码托管平台后,打开浏览器,在地址栏输入你的域名,查看效果即可

    1.2K10
    领券