[wp_editor_md_976949143a4a48533829d49a6bdde651.jpg]
由于个人的一些情况,前端工程化的专栏停了有段时间,接下来会陆续更新一些新的工程化的文章,希望给各位同学带来一些实在的干货。
Hexo博客已经使用挺长时间了,其出色的静态网页渲染能力深得我的喜欢,然鹅也是因为 Hexo 基本完全依赖渲染模板的原因,如果在整博客的过程中引入了错误的代码段或者和已有代码发生了冲突,会直接影响博客的正常渲染,对于Hexo来说,不能渲染就等于完全废了;针对出现的错误,有时候我们还不一定能找得出来。经常是改一处错两处,那么到了迫不得已的时候,就有必要对博客进行重置了。
简介 最近几年,前端技术呈现出突飞猛进的发展,涌现出了一大批优秀的前端框架,今天给大家带来的就是基于node的一款优秀的优秀的前端框架。之前一直用Express来搭建比较简单的Node应用,但是对于相对复杂的应用来说,Express还是太轻量了。而作为一款优秀的国产前端框架,ThinkJS整合了大量的项目最佳实践,让企业级开发变得更加简单、高效。从 3.0 开始,框架底层基于 Koa 2.x 实现,兼容 Koa 的所有功能。在最新的版本中,ThinkJS全面支持ES6和ES7的语法规则。 特性 基于 Koa
小小又进入了学习状态,此时小小由于最近接触了js的相关内容,进而接触了一些ts相关的内容,所以小小本次主要学习的内容是ts。
下载成功之后进行nodejs的安装,选择安装路径之后(不建议装在C盘),一路next就可以了!!(由于我之前已经安装过了,这里就不再进行安装)安装成功之后在cmd中输入 node -v 和 npm -v 显示出node的版本号 和 npm的版本号 即为安装成功!
一,Nunjucks基本概念 Nunjucks是一个丰富强大的模板引擎。 模板引擎就是基于模板配合数据构造出链输出的一个组件。 尽可能情况下,我们都需要读取数据后渲染模板,然后呈现给用户。故我们需要约会对应的模板引擎。 简单来说,Nunjucks就实现了在后台服务器显示内容的模板。 二,♡egg-view-nunjucks插件 $ npm i egg-view-nunjucks --save 三,启用插件 1 // config/plugin.js 2 exports.nunjucks = { 3
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923887518 处理错误请求 爱能遮掩一切过错。 当我们在访问一个站点的时候,如果访问的地址不存在(404)
上一节我们通过Koa创建了一个web服务器,并可以根据用户请求路径的不同响应不同的页面,但是每一个页面的内容都是通过字符串的方式给送给浏览器的,这样的开发方式并不友好,我们更希望直接发送html页面。
Express是基于nodejs的web开发框架。优点是易上手、高性能、扩展性强。
使用access_token请求获取前一天的用户画像 注意: 在零点前后数据会获取不到
Hexo一款博客系统,根据Markdown生成静态网页,我自己和我认识的很多师傅的博客都是用的hexo。
视频地址:https://www.cctalk.com/v/15114923888328 视图 Nunjucks 彩虹是上帝和人类立的约,上帝不会再用洪水灭人。 客户端和服务端之间相互通信,传递的数据最终都会展示在视图中,这时候就需要用到『模板引擎』。 什么是模板引擎? 模板引擎是为了使用户界面与业务数据分离而产生的,可以生成特定格式的文档。例如,用于网站的模板引擎会生成一个标准的 HTML 文档。 市面上常见的模板引擎很多,例如:Smarty、Jade、Ejs、Nunjucks 等,可以根据个人喜好进行
写到最后总结得差不多了,后续如果我想起还有哪些类库工具遗漏的,会继续在这篇文章上补全,同时也希望各位倔友对文章里的要点进行补充或者提出自己的见解。欢迎在下方进行评论或补充喔,喜欢的点个赞或收个藏,保证你在开发时用得上。
提测消息推送采用邮件(正式)与机器人(即时),提测内容、次数、质量等写入数据库,系统本身也能追踪,作为后期效能评估的辅助
入门简介 Express是基于nodejs的web开发框架。优点是易上手、高性能、扩展性强。 易上手:nodejs最初就是为了开发高性能web服务器而被设计出来的,然而相对底层的API会让不少新手望而却步。express对web开发相关的模块进行了适度的封装,屏蔽了大量复杂繁琐的技术细节,让开发者只需要专注于业务逻辑的开发,极大的降低了入门和学习的成本。 高性能:express仅在web应用相关的nodejs模块上进行了适度的封装和扩展,较大程度避免了过度封装导致的性能损耗。 扩展性强:基于中间件的开发模
我们以融职教育的网站为例,视频列表中会显示多条数据,显示的数据条数取决于数据库中的数据量。所以页面的内容应该是应该根据后台数据动态显示。那么如何动态显示数据列表的,实例代码如下所示。
目前国内访问GitHub速度慢,还可能被墙,所以Gitee来构建个人博客。Gitee类似国内版的GitHub,访问速度有保证。
Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。
对于大多数有点历史的复杂前端项目来说,应该已经经历了从刀耕火种的大型单仓库构建到多业务应用独立开发部署的过程。当用户访问页面时,由 nigix等负责根据路由分发到不同的业务应用,由各个业务应用完成资源的组装后返回给浏览器。这种情况下,开发、构建已经可以各自独立进行,在这样一套健全体系下的开发者们,想必是很幸福的。
项目源码 git clone https://gitee.com/wjj0720/nod...
函数/方法注释放置于函数/方法的上方,主要描述函数/方法功能以及参数类型,参数和返回值说明
先加载 Dgeni 所需要的包依赖。下一步,需要通过配置来告知dgeni如何生成我们的文档。
静态网站生成器是一种基于原始数据和一组模板生成完整的静态 HTML 网站的工具。它可以自动完成单个 HTML 页面的编码任务,并让这些页面准备好为用户服务。由于 HTML 页面是预先建立的,它们在用户的浏览器中加载得非常快。
在上一篇文章中,我说过要写一篇风格迥异的新文章,在了解了迭代器和生成器后,是时候来品味一些不烧脑的简单知识,如果你们觉得太难了,还不快去啃犀牛书!
一种使用方式就是全局安装:npm install -g babel-cli(可以通过 npm root -g 查看全局包安装目录), 只要全局安装了 babel-cli,则会在命令行中多出一个命令:babel。
从语言的角度看,数据段叫静态区,代码段叫常量区。从操作系统来看,就叫数据段和代码段。
由于面试解题没有时间进行数学验证,因此需要训练一些基本feeling,满足feeling即可果断尝试,十拿九稳!
所以你知道 new 一个对象的时候做了哪些事,具体过程是怎样的吗?其实主要经历了如下过程:
我们都知道C语言中变量的类型决定了变量存储占用的空间。当我们要使用一个变量保存年龄时可以将其声明为int类型,当我们要使用一个变量保存某一科目的考试成绩时可以将其声明为float。
C++98中,标准允许使用花括号{}对数组元素进行统一的列表初始值设定。举个例子:
concept乃重头戏之一,用于模板库的开发。功能类似于C#的泛型约束,但是比C#泛型约束更为强大。
CVue:自定义Vue类 Observer:执⾏数据响应化(分辨数据是对象还是数组) Compile:编译模板,初始化视图,收集依赖(更新函数、 watcher创建) Watcher:执⾏更新函数(更新dom) Dep:管理多个Watcher实例,批量更新
上篇主要是刷了两道真题(接龙数组和蜗牛 都是蓝桥杯2023的真题)有兴趣可以看看这个http://t.csdnimg.cn/AM9c2
假设p是指针,当delete p;时,后面一定要p=NULL将p指向空 cin cout cerr 都是iostream类型的对象。cout<<"hello world"<<endl; 其中cout是左操作数对象,<<是操作符,作用是将右操作数写到左操作数对象,"hello world"是右操作数,前面半句话的意思是将hello world写入cout对象。同理,<<endl是将endl写入cout,endl表示刷新缓冲区并换行。 std::cout ::是作用域操作符,表示std名空间下的cout,用来
数组(array)是一种数据格式,能够存储多个同类型的值。每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素。
C++11中的智能指针分为共享型的shared_ptr和独占型的unique_ptr,C++11提供了make_shared函数来创建shared_ptr指针,使用起来更方便,有了make_shared函数,就可以完全摆脱new操作了,可以写出完全没有new/delete的程序。 但是unique_ptr却不同,unique_ptr不像shared_ptr可以通过make_shared方法来创建智能指针,C++11目前还没有提供make_unique函数,在C++14中才会提供make_shared方法类似的make_unique来创建unique_ptr.
vector 容器是 C++ 标准模板库 ( Standard Template Library , STL ) 中的一个动态数组 容器 , 该容器有如下初始化方式 :
====================== 1.结构体 ==============================
Kotlin的基本数值类型有六种:Byte、Short、Int、Long、Float、Double
1. 以前在C语言的时候,{}一般用于初始化数组或结构体,例如下面代码的初始化方式,数组array1和array2可以在创建的同时进行初始化,同样结构体p1和p2也可以在定义的时候初始化,p2的_y成员变量默认初始化为0.
统一初始化又称为列表初始化,自C++11引入,使用花括号(Brace-initialization)方式,主要目的是为了简化和统一不同的初始化方式,提高代码的可读性和可维护性,同时减少了某些特殊情况下可能出现的二义性。是Modern C++开发人员最应该了解和掌握的新特性之一。它的出现,消除了以前在初始化基本类型、聚合类型和非聚合类型、以及数组和标准容器之间的区别,以提供更一致的初始化语法。
1. Understand template type deduction. 函数模板的原型 template<typename T> void f(ParamType param); ParamType是一个左值引用或者指针时 template<typename T> void f(T& param); int x = 27; const int cx = x; const int& rx = x; f(x);// T是int,param类型是int& f(cx);// T是const int, p
领取专属 10元无门槛券
手把手带您无忧上云