blog icon indicating copy to clipboard operation
blog copied to clipboard

没事写写文章,喜欢的话请点star,想订阅点watch,千万别fork!

Results 59 blog issues
Sort by recently updated
recently updated
newest added

## 变量 变量是具有唯一名称的命名容器,用于存储数据值。 以下语句声明了一个名称为“name”的变量: ```js let name; console.log(name); // undefined ``` 在JavaScript中,变量在创建时被初始化为undefined。在声明变量时,可以使用赋值运算符(=)将值赋给变量: ```js let name = 'jiayi'; console.log(name); // "jiayi" ``` 在使用变量之前一定要初始化它们,否则会出现错误: ```js console.log(name); // ReferenceError: name is not defined...

Angular提供了许多事件类型来与你的应用进行通信。 Angular中的事件可帮助你在特定条件下触发操作,例如单击,滚动,悬停,聚焦,提交等。 通过事件,可以在Angular应用中触发组件的逻辑。 ## Angular事件 Angular 组件和 DOM 元素通过事件与外部进行通信, Angular 事件绑定语法对于组件和 DOM 元素来说是相同的 - `(eventName)="expression"` 。 DOM 元素触发的一些事件通过 DOM 层级结构传播。这种传播过程称为事件冒泡。事件首先由最内层的元素开始,然后传播到外部元素,直到它们到根元素。DOM 事件冒泡与 Angular 可以无缝工作。 Angular事件分为原生事件和自定义事件: Angular Events 常用列表 ```ts (click)="myFunction()" (dblclick)="myFunction()"...

Angular

# TypeScript 中的 Mixins 模式

通过上篇学习,我们已经完成注册登录退出,一套基本用户体系,接下来我们需要完善它们。 这篇主要内容: - 完善首页 - 完善其他静态页面 - 完善主题系统和用户权限 - 完善找回密码修改用户信息 - 完善用户系统 - 编写测试 - Typeorm重写取代Mongoose数据库 这是计划,如果文章太长,后2个内容会新开一个补充来专门介绍它们。 ## 首页 先看首页效果图: ![image](https://user-images.githubusercontent.com/6111778/56730694-24fa2880-678b-11e9-860e-0ceaade12fe9.png) 总共分为这么几大块: 1. 主题分类 2. 主题列表 3. 登录用户信息 4. 发表主题按钮...

数组是最常见的数据结构之一,我们需要绝对自信地使用它。在这里,我将列出 `JavaScript` 中最重要的几个数组常用操作片段,包括数组长度、替换元素、去重以及许多其他内容。 ## 1. 数组长度 大多数人都知道可以像这样得到数组的长度: ```js const arr = [1, 2, 3]; console.log(arr.length); // 3 ``` 有趣的是,我们可以手动修改长度。这就是我所说的: ```js const arr = [1, 2, 3]; arr.length = 2; arr.forEach(i...

## 背景 在本文中,我将使用`Nest.js`构建一个[CNode](https://cnodejs.org/)。 为什么这篇文章?我喜欢`NodeJs`,虽然我的`NodeJs`水平一般。但我还是用它来记录一下我学习过程。 最近,我发现了[Nest.js](https://nestjs.com)框架,它有效地解决了Nodejs项目中的一个难题:体系结构。`Nest`旨在提供开箱即用的应用程序,可以轻松创建高度可测试,可扩展,松散耦合且易于维护的应用程序。`Nest.js`将`TypeScript`引入`Node.js`中并基于`Express`封装。所以,我想用`Nest.js`尝试写一个[CNode](https://cnodejs.org/)。(ps:目前CNode采用[Egg](https://eggjs.org/)编写)我没有找到关于这个话题的快速入门,所以我会给你我的实践,你可以轻松地扩展到你的项目。 本文的目的不是介绍Nest.js。对于那些不熟悉Nest.js的人:它是构建Node.js Web应用程序的框架。尽管Node.js已经包含很多用于开发Web应用程序的库,但它们都没有有效地解决最重要的主题之一:体系结构。 现在,请系好安全带,我们要发车了。 ## 什么是 Nest ![nest_logo](https://user-images.githubusercontent.com/6111778/44448923-46fd4300-a61f-11e8-86ba-f7ba68f708fc.png) `Nest`是一个强大的`Node web`框架。它可以帮助您轻松地构建高效、可伸缩的应用程序。它使用现代`JavaScript`,用`TypeScript`构建,结合了`OOP`(面向对象编程)和`FP`(函数式编程)的最佳概念。 它不仅仅是另一个框架。你不需要等待一个大的社区,因为`Nest`是用非常棒的、流行的知名库——`Express`和`socket.io`构建的!这意味着,您可以快速开始使用框架,而不必担心第三方插件。 作者[Kamil Myśliwiec](http://kamilmysliwiec.com)初衷: > JavaScript is awesome. Node.js gave us a possibility to use this language...

Nest

今天,我将与你分享在使用NestJS和MongoDB时一直在使用的工作流程/技术。 此工作流程利用了Typegoose的功能。 > 背景:最近在升级 [nest-cnode](https://github.com/jiayisheji/nest-cnode) 项目,之前使用的是 `Mongoose`,它的操作和Typescript有点冲突,创建`schema`和`interface`要写2个基本一样的,这样就比较累,虽然可以用工具生成,但是还是多了一个步骤,有没有更简单的呢,一开始想到 [Typeorm](https://github.com/typeorm/typeorm) ,看样子很不错的。 > ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL...

Nest

# 使用angular schematics快速生成代码 ## 什么是Schematics? Schematics是改变现存文件系统的生成器。有了Schematics我们可以: - 创建文件 - 重构现存文件,或者 - 到处移动文件 ## Schematics能做什么? 总体上,Schematics可以: - 为Angular工程添加库 - 升级Angular工程中的库 - 生成代码 在你自己的工程或者在你所在的组织中使用Schematics是具有无限可能的。下面一些例子展现了你或者你的组织或如何从创建一个schematics collection中获益: - 在应用中生成通用UI模板 - 使用预先定义的模板或布局生成组织指定的组件 - 强制使用组织内架构 >...

Angular

# 类与数据结构 什么是类? > 类是一组相似对象的规范。 什么是对象? > 对象是一组对封装的数据元素进行操作的功能。或者更确切地说,对象是一组对隐含数据元素进行操作的功能。 什么是隐含的数据元素? > 对象的功能意味着某些数据元素的存在。 但是该数据无法直接访问,也无法在对象外部看到。 数据不是在对象内部吗? > 它可能是,但没有规则说必须如此。 从用户的角度来看,一个对象不过是一组功能。 这些功能所依据的数据必须存在,但是用户不知道该数据的位置。 花开两朵,各表一枝。 什么是数据结构? > 数据结构是一组内聚的数据元素。或者,换句话说,数据结构是由隐含功能操作的一组数据元素。 数据结构未指定对数据结构进行操作的功能,但是数据结构的存在意味着某些操作必须存在。 那么,现在关于这两个定义你注意到了什么? > 它们彼此相反。确实,它们是彼此的补充。 - 对象是对隐式数据元素进行操作的一组功能。 - 数据结构是由隐含功能操作的一组数据元素。 所以对象不是数据结构,对象是数据结构的对立面。...

建立现代前端项目的一个重要任务是为每个不同的编程体验定义一个可伸缩的、长期的、不受未来影响的文件夹结构和命名准则。 尽管有人认为这是一个简单而次要的方面,但它往往隐藏着比看起来复杂的多问题。即使大多数时候并没有完美的解决方案,我们也可以探索一些行业最佳实践,以及我认为最有意义的一些东西。 自从`Angular 4`发布以来,我一直使用`Angular`在企业中开发,大大小小项目开发10余个,一点一滴摸索和实践,不断优化调整项目结构。最终参考 [风格指南](https://angular.cn/guide/styleguide),绘制一张比较满意的文件夹结构图,一直在项目中实践运用。 ![image](http://on-img.com/chart_image/5a166576e4b04f355d2fdf26.png) 在本文中,我将介绍: - 在文件夹中分配我们的`Angular`和`Typescript`实体 - monorepos vs libraries - 状态管理作为服务模块的集合 ## Angular 实体 在建立新代码库时,我经常做的第一件事是思考和定义构成我的项目的编程实体。作为Angular的开发者,我们已经非常了解其中的一些了: - modules 模块 - components 组件 - directives 指令 - services...