目前我在我的风格标签中这样做
@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');
* {
font-family: 'Roboto', sans-serif;
}
Run Code Online (Sandbox Code Playgroud)
但我下载了 Roboto 字体,想知道如何配置 Tailwind 以对所有元素全局使用这些文件和字体。
边注:
我正在使用 Vuejs 并按照有关如何从此处为 Vue 设置 Tailwind 的指南进行操作
我想开始使用 NestJs 创建 REST API,但我不确定如何设置可扩展的层通信对象。
因此,从有关如何开始的文档中,我提出了UsersController处理 HTTP 请求和响应的方法,UsersService处理控制器和数据库访问器之间的逻辑以及UsersRepository负责数据库管理的方法。
我使用NestJs提供的TypeORM 包,所以我的数据库模型是
@Entity('User')
export class UserEntity extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({ unique: true })
username: string;
@Column()
passwordHash: string;
@Column()
passwordSalt: string;
}
Run Code Online (Sandbox Code Playgroud)
但是您可能知道,这个模型必须映射到其他模型,反之亦然,因为您不想将密码信息发送回客户端。我将尝试用一个简单的例子来描述我的 API 流程:
控制器
首先,我有一个用于GET /users/:id和的控制器端点POST /users。
@Get(':id')
findById(@Param() findByIdParamsDTO: FindByIdParamsDTO): Promise<UserDTO> {
// find user by id and return it
}
@Post()
create(@Body() createUserBodyDTO: CreateUserBodyDTO): Promise<UserDTO> {
// create a …Run Code Online (Sandbox Code Playgroud) 我有一个控制台应用程序,想要通过将配置从appsettings.json文件映射到自定义类来配置我的选项。到目前为止我安装的软件包
给定这个样本类
public class MyOptions
{
public string Foo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和这个配置
{
"myOptions": {
"foo": "bar"
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试用这段代码映射它
public void ConfigureOptions(IServiceCollection serviceCollection)
{
IServiceProvider serviceProvider = serviceCollection.BuildServiceProvider();
IConfiguration configuration = serviceProvider.GetService<IConfiguration>();
IConfigurationSection myConfigurationSection = configuration.GetSection("MyOptions");
serviceCollection.Configure<MyOptions>(myConfigurationSection);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这是无效的语法。无法Configure再将该部分传递给该方法。
参数类型“Microsoft.Extensions.Configuration.IConfigurationSection”不可分配给参数类型“System.Action<MyApp.MyOptions>”
这让我很困惑,因为文档中有一个类似的例子
有人知道我是否遗漏了什么吗?
我使用 TypeScript 创建了一个 Vue 3 应用程序。在 src 文件夹内我创建了一个新的枚举 color.ts
enum Color {
Red,
Blue
}
export default Color;
Run Code Online (Sandbox Code Playgroud)
我创建了一个组件 ColorDisplay.vue
<template>
<div>
{{ color }}
</div>
</template>
<script lang="ts">
import { defineComponent } from "vue";
import Color from "../color";
export default defineComponent({
props: {
color: {
type: Color,
required: true
}
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
并将 Home.vue 文件修改为
<template>
<div>
<color-display :color="Color.Red" />
<color-display :color="Color.Blue" />
</div>
</template>
<script lang="ts">
import { defineComponent } from "vue";
import ColorDisplay from "../components/ColorDisplay.vue";
import …Run Code Online (Sandbox Code Playgroud) 我有一个位置实体保存坐标。基于半径,我想获取范围内的所有位置。
我创建了一个函数(后端代码/Nestjs 逻辑,而不是数据库)来计算两个位置之间的距离。如果计算出的距离小于或等于半径,我想选择这个位置。
我当前使用此距离计算功能的存储库实现:
// ...
import { distanceFromCoordinatesInKilometers } from '../shared/calculations/distanceFromCoordinatesInKilometers';
@EntityRepository(Location)
export class LocationsRepository extends Repository<Location> {
public getLocations({ /* ... */ latitude, longitude, radiusInKilometers }: GetLocationsDTO): Promise<Location[]> {
const query: SelectQueryBuilder<Location> = this.createQueryBuilder('location');
// ....
if(latitude && longitude && radiusInKilometers) {
query.andWhere("distanceFromCoordinatesInKilometers(location.latitude, location.longitude, :latitude, :longitude) <= :radiusInKilometers", {
latitude,
longitude,
radiusInKilometers,
});
}
return query.getMany();
}
}
Run Code Online (Sandbox Code Playgroud)
上面显示的示例不起作用。我收到这个错误
QueryFailedError: 函数 distanceFromCoordinatesInKilometers(double precision, double precision, unknown, unknown) 不存在
向:函数添加 a时出现此错误
参数中不支持函数参数。请检查“距离”参数。
我将如何distanceFromCoordinatesInKilometers在该查询中调用我的后端代码函数?我可以传入变量但不能传入函数? …
我有一个 C# 项目,想为其添加语义版本控制。因此,每当我推送到main分支时,我想创建一个新版本并根据提交类型自动生成新版本号。我认为语义释放很好地完成了这项工作,因为我已经将commitlint与husky一起使用。
对于复制:
\nnpm init -y以设置 npmSEMANTIC_RELEASE并添加访问令牌作为其值。
\nname: Release\n\non:\n push:\n branches:\n - `main`\n\njobs:\n release:\n runs-on: ubuntu-latest\n\n steps:\n - uses: actions/checkout@v2\n\n - name: Setup Node\n uses: actions/setup-node@v2\n with:\n node-version: 14.x\n\n - name: Install dependencies\n …Run Code Online (Sandbox Code Playgroud) 我想使用 Express-Validator 验证请求对象。假设我有两个路由,一个GET /users/:id (fetchUserById) 和POST /users (createUser) 路由
this.router = express.Router();
this.router.route('/').post(this.userRequestValidator.createUser, this.userController.createUser);
this.router.route('/:id').get(this.userRequestValidator.fetchUserById, this.userController.fetchUserById);
Run Code Online (Sandbox Code Playgroud)
如您所见,我在调用控制器逻辑之前调用了验证中间件。首先,我创建了一个基本验证器来处理验证错误并在出现问题时返回 HTTP 400。
export abstract class RequestValidator {
protected validate = async (request: Request, response: Response, next: NextFunction): Promise<void> => {
const errors: Result<ValidationError> = validationResult(request);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
} else {
next();
}
};
}
Run Code Online (Sandbox Code Playgroud)
我的验证器函数userRequestValidator.createUser和userRequestValidator.fetchUserById只需要扩展 RequestValidator 并实现验证
export class UserRequestValidator extends RequestValidator {
public createUser = [
body('username')
.isString()
.exists(),
body('password') …Run Code Online (Sandbox Code Playgroud) 我想为我的 Web 应用程序提供游戏手柄支持。这个应用程序是一个套接字客户端(使用 socket.io),它也应该能够处理游戏手柄输入。
因此,当通过 USB 或蓝牙插入游戏手柄时,我想触发一个事件,输入也是如此。我希望Gamepad API能够解决它。不幸的是它没有。
我创建了这个例子
$(document).ready(() => {
window.addEventListener("gamepadconnected", e => {
console.log("connected gamepad");
});
window.addEventListener("gamepaddisconnected", e => {
console.log("disconnected gamepad");
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>Run Code Online (Sandbox Code Playgroud)
我插入了我的 XBox360 控制器,但不幸的是没有触发任何事件。我错过了什么吗?
我在 Manjaro Linux(64 位)上使用 Chrome 版本 76.0.3809.132(官方版本)
navigator.getGamepads()在控制台中运行时,我得到了这个结果GamepadList {0: null, 1: null, 2: null, 3: null, length: 4}
顺便说一句。当然,我的控制器正在处理其他应用程序,例如游戏:)
更新
我安装了 Firefox 68.0.1(64 位)并且它工作了……但是 Chromium 似乎在挣扎
我使用带有 TypeORM 的 NestJs 创建了一个 REST API。基本上这是我的用户实体
@Entity('User')
export class User extends BaseEntity {
@PrimaryGeneratedColumn()
public id: number;
@Column({ unique: true })
public username: string;
public passwordHash: string;
}
Run Code Online (Sandbox Code Playgroud)
当从数据库中获取用户时,敏感的密码信息也会被返回。但我只需要登录过程的密码字段。因此,在调用登录服务时,我将数据库用户的密码哈希值与客户端提供的密码进行比较。我永远不想将密码信息返回给客户端。
由于您可以想象从数据库中获取用户的情况经常发生,因此您必须经常从用户对象中删除密码信息。
假设您有一个组实体并且它们之间存在关系。在获取与组相关的用户时,您还必须注意组域中的敏感数据。
也许一些用户深深地嵌套在一个大 SQL 查询语句返回的对象中。有没有办法可以“隐藏”某些字段?打电话时,this.usersRepository.find()我会得到一个用户列表,每个用户都有一个id和一个username字段,但没有一个passwordHash字段。这会让事情变得更容易,因为我只需要在我的signIn流中获取哈希字段。
我正在使用 TailwindCSS 并想更改 svg 的颜色。如果没有 Tailwind,这里之前已经问过这个问题,对于 2020 年,这应该是一个很好的答案,但 Tailwind 不支持这些过滤器。文档中有一个关于如何使用 svg 图标的指南,但本教程没有文件,只有纯文本路径。
我下载了 svg 文件并将 svg 的路径分配给图像的src标签。以下示例显示了我的问题,我希望图标的背景为红色,图标的颜色为蓝色。不幸的是,我无法更改图标颜色。
<link href="https://unpkg.com/tailwindcss@1.8.10/dist/tailwind.min.css" rel="stylesheet" />
<!-- taken from here https://www.iconfinder.com/icons/765208/media_twitter_social_icon -->
<img class="fill-current bg-red-500 text-blue-500" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSI2MHB4IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA2MCA2MCIgd2lkdGg9IjYwcHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48dGl0bGUvPjxkZXNjLz48ZGVmcy8+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBpZD0iYmxhY2siIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIj48ZyBpZD0ic2xpY2UiLz48ZyBmaWxsPSIjMDAwMDAwIiBpZD0idHdpdHRlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMuMDAwMDAwLCAxNi4wMDAwMDApIj48cGF0aCBkPSJNMjguMDUyMTM4NSwyLjQzNjY5NDI3IEMyNi44NDMxODQ2LDEuMDYyMjAxNSAyNS4xMjA1Mzg1LDAuMTg2NDY0MTA1IDIzLjIxNDA2MTUsMC4xNTQ3MzEwMjggQzE5LjU1MzYsMC4wOTM4MDMwOTA1IDE2LjU4NTY1MzgsMy4xODY5MjMzOSAxNi41ODU2NTM4LDcuMDYzMTE2MDQgQzE2LjU4NTY1MzgsNy42MTMyNDExOCAxNi42NDQyOTIzLDguMTQ5NjkzMzcgMTYuNzU3MzY5Miw4LjY2NDY3MzE2IEMxMS4yNDg1ODQ2LDguMzA3MzUyNTcgNi4zNjQ0NjkyMyw1LjQzODc3MDU5IDMuMDk1NDE1MzgsMS4xMTQ3MjE4IEMyLjUyNDg2MTU0LDIuMTUwODYxNyAyLjE5NzkwNzY5LDMuMzYxODgyNzEgMi4xOTc5MDc2OSw0LjY1OTE1MDM3IEMyLjE5NzkwNzY5LDcuMTE0OTg4NDQgMy4zNjgwOTIzMSw5LjI5NDUyNzI0IDUuMTQ2NjMwNzcsMTAuNTgxNDE3NCBDNC4wNjAxMjMwOCwxMC41MzM0NDk5IDMuMDM4MDY5MjMsMTAuMjA0NTM3OCAyLjE0NDQzODQ2LDkuNjY0OTUyMDMgQzIuMTQzNzkyMzEsOS42OTQ0NDQ5NyAyLjE0Mzc5MjMxLDkuNzIzOTQ0OTQgMi4xNDM3OTIzMSw5Ljc1Mzk2MjQ1IEMyLjE0Mzc5MjMxLDEzLjE4MzU0OTcgNC40Mjg1OTIzMSwxNi4wNjA3MDc2IDcuNDYwODMwNzcsMTYuNzMwOTM4MyBDNi45MDQ2NTM4NSwxNi44ODg1MzggNi4zMTkwNzY5MiwxNi45NzEwMTYzIDUuNzE0NiwxNi45NjcwMDggQzUuMjg3NDkyMzEsMTYuOTY0MTc1OCA0Ljg3MjE3NjkyLDE2LjkxNjgxMTggNC40Njc1MjMwOCwxNi44MzE3NjggQzUuMzEwOTE1MzgsMTkuNjQ0Mzc3NyA3Ljc1ODcwNzY5LDIxLjY5Njc2NjMgMTAuNjU5MjkyMywyMS43NjQ2MjggQzguMzkwODA3NjksMjMuNjQ3Njk2MyA1LjUzMjg2OTIzLDI0Ljc2OTE5MzMgMi40MjcyOTIzMSwyNC43NjI3ODcgQzEuODkyMjc2OTIsMjQuNzYxNjgzMyAxLjM2NDY5MjMxLDI0LjcyNzExMiAwLjg0NjE1Mzg0NiwyNC42NjA1OTk2IEMzLjc3OTUzMDc3LDI2LjY3MzMxMzkgNy4yNjM1OTIzMSwyNy44NDUxNzExIDExLjAwNjc2MTUsMjcuODQ2MTUzMSBDMjMuMTk4NTUzOCwyNy44NDkzNTE4IDI5Ljg2NTczMDgsMTcuMjM5NTEwOSAyOS44NjU3MzA4LDguMDM2NzY4NjggQzI5Ljg2NTczMDgsNy43MzQ4MzYzMiAyOS44NTkxMDc3LDcuNDM0NTE5MTIgMjkuODQ2NTA3Nyw3LjEzNTY1MTk1IEMzMS4xNDE1NjE1LDYuMTcwNjY2NDUgMzIuMjY1MjIzMSw0Ljk2MDc4OTE1IDMzLjE1Mzg0NjIsMy41NzkyMTkwMSBDMzEuOTY1MjQ2Miw0LjExNTAxNjE1IDMwLjY4NzYzODUsNC40NzA4Njg2MyAyOS4zNDcwMzA4LDQuNjIwMTM3ODkgQzMwLjcxNTQyMzEsMy43Nzc5NjUxOCAzMS43NjY1NTM4LDIuNDMwMDk2MDcgMzIuMjYxMzQ2MiwwLjgxMzc1ODQwNCBDMzAuOTgwNTA3NywxLjU5MDQ5MjI5IDI5LjU2MjAzODUsMi4xNDc1MTI4NiAyOC4wNTIxMzg1LDIuNDM2Njk0MjcgWiIvPjwvZz48L2c+PC9zdmc+">Run Code Online (Sandbox Code Playgroud)
下载 svg 图标并通过链接资产路径直接使用它们时,正确的工作流程是什么?我想要实现的就是这样的
<a href="https://twitter.com" target="_blank">
<img src="pathToSvgInAssetsFolder" />
</a>
Run Code Online (Sandbox Code Playgroud)
并将图标颜色设置为自定义 Tailwind 颜色,例如red-500。因此,每当我想更改图标颜色时,我都可以简单地修改颜色类。
有人知道怎么做吗?
javascript ×5
typescript ×4
c# ×2
css ×2
html ×2
nestjs ×2
node.js ×2
tailwind-css ×2
typeorm ×2
.net-core ×1
express ×1
gamepad-api ×1
git ×1
npm ×1
vue.js ×1
vuejs3 ×1