最近在浏览indigo主题原作者的网站时,发现其评论系统已经更新为了Valine,看这个评论插件的第一眼就觉着一股浓浓的极简风,而且,十分重要的是,其无后端的设定! 或许有些地方跟原先的友言或者多说的插件相似,但由于历史原因今天都无法使用了,现在比较不错的评论系统有disqus还有基于Github Issues的gitalk以及gitment,disqus需要翻墙速度才可以接受,然后一开始我是使用的基于Github的gitment,但是用户必须登录Github账号后才可以留言,所以有一丝丝的局限。 出于其非常吸引人的无需登陆和评论易管理的特性,当然需要尝试一波了。
对于前后端分离,如何把一个页面的公共部分比如head, header, footer, content等组合成一个完整的html 是一个值得考虑的地方。 对于php,我们可以利用include加载其他页面,像yii框架,可以利用render将输出的内容嵌入到父模板,从而形成一个完整的页面。 那对于纯静态的html我们如何拼接呢? 可以想到市面上的多种模板引擎,比如artTemplate, doT, ejs等,他们可以使用require或include等特殊标记的语法来引入其他模块。但如果每个页面我们都去写若
二、模块化开发 模块化的意义:形成局部作用域,不会污染全局变量 * commonJS:node、webpack是其规范的实现 * node不支持ES6的模块化,但支持所有的ES6+语法 * 可以通过typescript转化,在node中使用ES6模块化批量导出可输出多次 * `exports.属性1 = 值1` * `exports.属性2 = 值2` * 导出的都是属性,可导出任何类型的值 * 但导入的只是对象,通过对象的属性执行默认导出只输出一次 * 默认导出只输出第一个值 * `module.expo
上面的代码将path目录下的filename.ejs文件引入到当前文件中,并将data的值传入filename.ejs文件中。
首选bootstrap,当然有了它只是有了一个基本的前端骨架,要像整站看起来漂亮大气,得多做做工作的!为了偷懒,推荐给大家一个Admin Template:AdminLTE Control Panel Template,正如作者介绍:Best open source admin dashboard & control panel theme. Built on top of Bootstrap 3, AdminLTE provides a range of responsive, reusable, and commonly used components.
现在的 Node 对于前端而言可以涵盖各个方面,包括命令行接口、插件、依赖库、脚手架以及 Web 服务等。本文是一篇对于 Node 使用的浅谈文章,会简单讲解一些个人使用 Node 的经验,分享的内容主要可分为三个方面:
url路由(动态路由和静态路由) asp.net 内部维护路由表对象,设置默认的响应路径,动态路由按照路由表的顺序从前向后查找。 url优先按照默认路由按照格式匹配,如果找不到,则返回404错误 参考:https://www.cnblogs.com/meetyy/p/4134615.html ASP.NET 支持三种开发模式: Web Pages 单页面模型,cshtml文件内嵌razor语法 MVC 模型视图控制器,ajax响应函数,服务端和前端完全分离 Web For
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
前言 前面也学习了一些Node.js的基本入门知道,现在开始进入Web开发的部分; Node.js提供了http模块,这个模块中提供了一些底层接口,可以直接使用,但是直接开发网站那还是太累了,所以http模块也不单讲了,可以去看官方API:http://nodejs.org/api/http.html 下面我们直接从Express框架着手去进行Web开发,它实现好了更高层的接口,让Web开发更简单快捷... 简介和安装 Express是一个轻量级、简洁、易用的Node.js Web MVC
EJS[1]-源码解析 官方文档中有提到两个,最基本的使用也确实只有那两个,但是实际上可以调用的函数有五个。 本篇会介绍下这五个API的作用&本人对于该API实现的一些想法。 EJSv1.x,代码篇幅上可以称得上短小精悍,算上注释不过400行。 建议先看完第一篇再看本文,如何使用EJS。 parse 我们会从最里边的parse函数说起。parse函数是根据EJS模版来生成一段可执行的脚本字符串。 parse、compile、render三个函数的参数是属于透传的,第一个参数str
前段时间讲说了ejs模板引擎,提到了jade的效率等等问题!今天在这里简单提一下jade的使用方式!结合express框架如何使用jade!
在Node.js后端开发中,使用官方提供的http模块可以创建一个Web服务器应用,但是此模块非常底层,要处理各种情形,比较繁琐,为此便有了 Express ,它是第三方模块,是一个基于Node.js的http模块而编写的高层模块,简化Web服务器端应用的开发。
我们会从最里边的parse函数说起。parse函数是根据EJS模版来生成一段可执行的脚本字符串。
前段时间有写过一个TypeScript在node项目中的实践。 在里边有解释了为什么要使用TS,以及在Node中的一个项目结构是怎样的。 但是那仅仅是一个纯接口项目,碰巧赶上近期的另一个项目重构也由我来主持,经过上次的实践以后,尝到了TS所带来的甜头,毫不犹豫的选择用TS+React来重构这个项目。 这次的重构不仅包括Node的重构(之前是Express的项目),同时还包括前端的重构(之前是由jQuery驱动的多页应用)。
最近一直在想着做一个自己博客的数据统计。做数据统计,报表,必须要先有数据,于是写了一个使用Nodejs获取自己CSDN所有博客链接的程序, 并将这些博客数据通过页面展示出来。
云端一体化部署工具 CloudBase Framework (简称 CBF)自开源发布以来迭代迅速,不仅支持 Vue、React 等前端框架,也支持 Nuxt 等 SSR 框架,基于 Node 开发的应用如 Express、Koa 等也可以一键托管。除此之外,借助底层 Serverless 云应用的能力,也可以部署其他后端的应用(PHP、Java、Go 等),值得一提的是可以部署 Dart Server,可以配合 Flutter 实现 Dart 语言的云端一体化,这也是国内云厂商对 Dart 语言和生态的一大补充。
为了统一团队的代码规范,除了一纸规范说明之外,还需要引入工具进行限制。虽说工具并不能完全实现规范中的规则,但至少能够在一定程度上缓解代码不统一的局面。
process 是一个全局变量,它提供当前 Node.js 进程的有关信息,而 process.argv 属性则返回一个数组,数组中的信息包括启动 Node.js 进程时的命令行参数
Express是一个极简的Node.js后端开发框架,它最强大的地方在于它的路由实现,那么它的路由是如何实现的呢?下面给大家分享两段代码,希望大家能够有个简单的认识。
你也可以使用快捷方式 ejs.render(dataAndOptions); ,其中你可以通过一个对象来传递任何东西。在这种情况下,你需要以一个装有所有需要传递对象的本地变量结束。
安装插件 npm install koa-views --save npm install ejs --save var koa = require('koa'); var Router = require('koa-router'); var views = require('koa-views'); var app = new koa(); var router = new Router(); /** * 这样配置后缀名为html * app.use(views('./views', {map:
HTML5是万维网的核心语言,标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改,一方面提升了用户体验,另一方面HTML5技术跨平台,适配多终端,改变了传统开发者需针对不同操作系统进行研发的局面。
本文将会从零开始编写一个简单的Hexo博客主题,目的是了解一个Hexo博客主题的构成以及如何编写,因此,本示例中的博客页面样式不做过多描绘,样式主要参考 Hexo theme 中的 Noise 主题。
1.基本使用 新键文件 template/1.pug 这个文件存放html模板 示例代码
前几次介绍node的ejs后台模板进行数据渲染们今天简单介绍一下咱们前端的模板引擎underscore的数据渲染!
nodejs的后台模板引擎主要分为两种ejs和jade.简单说一下两者区别吧,ejs学习成本低,效率不是很高(主要是先把模板中内容解析字符串),jade学习成本比较大,后期维护成本低,效率相对于ejs较好,express框架默认模板引擎依旧是jade有能力的情况下学习下jade还是非常不错的!今天主要介绍ejs后台模板引擎!
官网介绍,Egg奉行『约定优于配置』,按照一套统一的约定进行应用开发,团队内部采用这种方式可以减少开发人员的学习成本。
我们可以看到有很多分类音乐榜单,我们看看他到底是怎样写的右击查看源码 body内容就下面几行代码,其他的数据都是通过js加载的
官方推荐的是mongodb,mongodb也看了点,本身对数据库这块就不太熟,所以我也是从mysql开始,这里只介绍几种mysql工具
超链接的文件下载考虑到超链接是同源或是跨域情况,读者可通过文章 【案例】同源策略 - CORS 处理熟悉同源策略。
一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。 1.Node.js的去寻找引入的依赖时,如果是Node自带的模块,比如fs文件模块,只需要填写fs即可。如果是自己定义的模块,那么需要加入./(使用相对路径),暴露接口使用exports或者module.exports 2.TypeScript的 import * from url 的引入依赖,需要填写完整的相对路径,否则是找不到模块的,暴露接口使用export . 3.Node中使
之前已经发过这个流程图,下面来回顾一下,特别需要注意的是项目和组件的流程有一些区别。
EJS是一个JavaScript模版库,用来将EJS模版结合着JSON数据转换为HTML 并且可以直接在模版中写JavaScript的语法
EJS[0]-如何使用EJS 最近做的一个新项目,所以想着换一个新的模版引擎尝试一下。(之前我们一直在使用handlebars) 本次源码分析所使用的是TJ大神开发的1.x版本 当然现在该项目已经停止维护了,目前正在维护的是2.x版本 什么是EJS EJS是一个JavaScript模版库,用来将EJS模版结合着JSON数据转换为HTML 并且可以直接在模版中写JavaScript的语法 简单的示例 let template = 'Hello, <%= name %></
作为一篇新手入门,这篇文章没有太多的技巧和花式,只是从零开始带你学习和掌握express的开发应用,比较适合于完全没有使用过express的新手,以及其他非前端同学。
想必你一定使用过易企秀或百度H5等微场景生成工具制作过炫酷的h5页面,除了感叹其神奇之处有没有想过其实现方式呢?本文从零开始实现一个H5编辑器项目完整设计思路和主要实现步骤,并开源前后端代码。有需要的小伙伴可以按照该教程从零实现自己的H5编辑器。(实现起来并不复杂,该教程只是提供思路,并非最佳实践)
因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布。因为很久不写,重点说遇到的几个坑:
昨天有Design-AI-Lab用户后台留言,问为什么换军装的h5这么火,但没见到有技术文章分析如何实现。 我回复说,大概是比较简单吧,主要工作是图像合成。 后来,我亲自体验了下,反应速度比较慢,大概是因为火了吧,访问者太多; 关键的技术是人脸识别; 前端的话,canvas实现图像合成; 整个h5设计不算惊艳,只能算一般; 运营亮点是抓住热点事件,设计了激发用户分享的产品。 再细想一想,决定还是自己动手实现一个,试试整个技术的难度。 于是,通过开发者工具,阅读了 http://www.h5case
从上节中可以看到链式操作,你可以简单理解使用链式操作是规定这个操作流程有一个步骤,即需要先做什么,然后做什么。依次下去形成一个**“流水线”**。
e.js中向ejs模板发送数据有以下两种方法: 方法一、 javascript res.render('viewName',{name1:'value1', name2:'value2',...}); 语法: javascript res.render(view, [locals], callback); 说明: view:为模板文件名 locals:为模板中所有变量的key-value的JSON数据 callback:为回调函数 弊端:此方法在给模
由于本主题(Volantis)使用的 Valine 暂时仍然无法正常开启 Counter 页面计数,所以,在单一页面上展示出该页面的访问量就成了一个问题。不蒜子是个解决方式,但其加载巨慢而且仍属于个人维护、并不稳定。所以综合到最后,选择采用 LeanCloud 来完成这一功能。其主要思路就是访问页面时到对应的 LeanCloud 数据表中更新访问次数。不过暂时只能记录PV值。
比较适用于大家常说的 SEO 和首屏渲染这些,一般都是 toc 的业务才会需要用到。
这么多年大家习惯了使用JSX描述UI的React。甚至部分场景下使用Vue时也会选择JSX而不是模版语法。
再好的东西不使用它,他终究不属于你,只有我们真正的把它运用到实际,真正的理解它,才能发挥它的最大作用正所谓实践出真理。深入浅出mongodb(一)和深入浅出mongodb(二)两篇文章讲述了一些安装和使用的基础知识,这篇文章小编将带你走进实战世界,真正体会项目中是怎么使用mongodb开发,让我们一起揭开它神秘的面纱。
进入正文之前,我们先回顾一下在模板引擎出现之前,暂且称之为“石器时代”,我们是如何利用JS改变页面结构的。对于下面的代码:
1.DIRT(data-intensive real-time)表示数据密集型实时程序。因为Node自身在I/O上非常轻量,它善于将数据从一个管道混排或代理到另一个管道上,这能在处理大量请求时持有很多开放的链接,并且只占用一小部分内存。它的设计目标是保证响应能力。
ubuntu selenium + chromedriver 网页截图需要 xvfb
中后台项目中会存在一些配置页面需求的开发,这些需求高度相似,迭代频率低,基本结构为「搜索区域」、「表格区域」、「包含表单的弹窗」三部分组成。
以前Hexo博客是托管到github上,因为国内访问github速度有些慢,这次试着把博客部署到阿里云的服务器上。本地系统Windows10上需要安装node.js+hexo。下面做一个详细的介绍。
领取专属 10元无门槛券
手把手带您无忧上云