2020年12月10日
11月27日举行了第19次学习会。
这次的主题是【NestJs】和【CSS图标制作】。从两个主题中我学到了很多东西。
NestJs是一个Node.js框架,可用于实现类似Anglar的架构。既然NodeJs是制作网页应用的服务器端JavaScript环境,NestJs当然也是制作网页应用的框架。
React、Vue、Anglar等经常用于制作web应用的前端框架。这次介绍的NestJs是深受Anglar架构影响的框架。
NestJs有以下特点:
内部采用如下技术:
其核心是Module、Controller、Provider三个要素。
首先,在controller中编写处理前端请求的代码。
然后,将具体的处理放入provider中。module间的依赖关系大概是这个样子。
关于URL,在各个controller中都预先指定了通配符,并由此决定了管辖权。推荐用controller处理请求,用provider(service等)处理细节的架构方式。provider中预置了Middleware、Exception filters、Pipes等多个种类,以应对不同的处理时机和对象。
在class声明之前加上@Injecttable()的装饰器,可生成外部可插入的对象。由此,可用import往module导入其它的module、provider(service等)和controller,同时能够将依赖关系保持在理想状态。
这样,通过导入包含所需provider的module,可以在整个服务器上保证provider的单例运行。
可用命令轻松生成项目、controller和service等。
例) 新建test/test.module.ts
nest g mo test
例) 新建nest工程
nest new project-name
集成了标准的jest
在NestJS中,关于与数据库的协作,提供了以下标准接口。
因为可以使用流行的TypeScript的框架,所以如果有制作网络应用软件的机会的话我一定要试试。
在html中插入图标的话,一般会采用插入图片的方法,然而用CSS制作图标也是可行的。 好处有以下两个。
虽然简单来说是使用CSS进行绘制,但是单一的要素很难表现出适合的图标内容。因此,通过使用伪元素【:before】/【:after】,共3个元素进行绘制。
赶紧来看看实例吧。
See the Pen printIcon by sotaro ozaki (@sohoos) on CodePen.
下面是打印机的图标。乍一看好像很复杂,但是仔细看的话,可以发现是整体由三个矩形的边来构成的。试着把before要素改成蓝色,把after要素染成红色。
See the Pen printIconColored by sotaro ozaki (@sohoos) on CodePen.
除了直线,还可以绘制曲线。这可以通过指定corner-radius来实现。
See the Pen LYRYBJv by sotaro ozaki (@sohoos) on CodePen.
绘画技术还是很有必要的……
如果感觉自己制作起来有困难,可以借鉴专业的CSS图标网站。感兴趣的话请一定要看看哦。