我有一个 js 类的函数,它可以返回 String 或undefined. 现在我想将该return语句插入到函数的文档中。
/**\n * Test documentation.\n * \n * @param {(String|Number)} value - A String or a number containing a number.\n * \n * @returns {(String|undefined)} - Returns a String or undefined.\n */\n nullOrString(value) {\n // ...\n }\nRun Code Online (Sandbox Code Playgroud)\n但是当我调用该函数时,该return语句的文档仅返回String而不返回(String | undefined)。\n我也尝试使用null而不是undefined,因为undefined默认情况下所有没有返回的函数都会返回return。
那么如何将返回的undefinedor添加到我的文档中呢null?
编辑: \n添加另一个测试函数。\n请注意,这些示例是测试函数,不一定有意义。
\n /**\n * Test documentation function.\n …Run Code Online (Sandbox Code Playgroud) 我使用几个枚举作为全局参数。
enum color {
'red' = 'red',
'green' = 'green',
'blue' = 'blue',
};
enum coverage {
'none' = 'none',
'text' = 'text',
'background' = 'background',
};
Run Code Online (Sandbox Code Playgroud)
我将所有枚举合并为一个类型myEnums。
type myEnums = color | coverage;
Run Code Online (Sandbox Code Playgroud)
现在我想检查并访问枚举的值。例如:
// Returns undefined if the argument value is not a color.
function getColor(value: string): color | undefined{
if(value in color) return value as color;
return undefined;
}
Run Code Online (Sandbox Code Playgroud)
因为有多个枚举,所以我想创建一个通用函数来访问所有枚举。我尝试了以下方法:
function getParam<T extends myEnums>(value: string): T | undefined {
if(value in T) return value as …Run Code Online (Sandbox Code Playgroud) Options 我创建了一个自定义类型(嵌套对象)。我想使用该类型DefaultProperties创建一个包含默认属性的对象。
type Options = {
id: number,
text: string | undefined,
properties: {
title: string,
subtitle: string | undefined,
}
}
type DefaultProperties = Pick<Options, "properties">;
Run Code Online (Sandbox Code Playgroud)
当然默认属性不能是undefined。所以我想undefined从我的联合类型中排除。为此,应该有一个内置函数,如NonNullable<T>或Exclude<T,UnionType>。
我尝试了三种不同的删除方法,undefined但没有解决方案适合我的类型。
type Options = {
id: number,
text: string | undefined,
properties: {
title: string,
subtitle: string | undefined,
}
}
type DefaultProperties = Pick<Options, "properties">;
// Try #1: does not work
type Type1 = NonNullable<DefaultProperties>;
// Try …Run Code Online (Sandbox Code Playgroud) 编辑:仍然有这个问题。
Visual Studio Code 抛出以下错误:
User model imported from django.contrib.models
该错误出现在以下脚本 ( models.py) 的第 2 行中。该代码来自 Django 教程,运行良好。但令人烦恼的是 Visual Studio Code ( Pylint ) 会抛出错误(并将脚本标记为红色)。
from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
Run Code Online (Sandbox Code Playgroud)
此外,VSC 在导入自定义模型时会引发错误,例如Post.
from app_blog.models import Post。
错误:无法导入“app_blog.models”
我的设置:
我前段时间创建了一个包含自定义元素的小型 JS/CSS 框架。现在我想使用npm和node.js改进我的工作流程(编译、合并、最小化......) ,所以我对此非常陌生。
每个组件(模块)都编写在单独的.js文件中。一个或多个组件之间可能存在依赖关系,例如:
文件: src/modules/component_1.js
class Component_1{
// Code ...
}
export{
Component_1
}
Run Code Online (Sandbox Code Playgroud)
文件: src/modules/component_2.js
import {Component_1} from './component_1.js';
class Component_2{
// Code ...
}
export{
Component_2
}
Run Code Online (Sandbox Code Playgroud)
我想要的是这样的结构:
my-project/
|-- js/
| |-- components.js
| |-- components.min.js
|-- src/
| |-- modules/
| |-- component_1.js
| |-- component_2.js
| |-- ...
| |-- component_30.js
Run Code Online (Sandbox Code Playgroud)
.js文件src/modules/保持不变。因此,我可以使用这些文件添加新功能等,然后我可以创建新的生产 .js文件js/components.min.js。npm ruin build-js。我在 TS 中写了一个小库用于学习目的。我正在使用 webpack 从我的打字稿创建 JS UMD 模块。
我的项目结构如下所示:
|-dist
|-js
|-my-lib.min.js // Minified library as UMD module
|-src
|-ts
|-types
|-interfaces
|-utils
|-components
|-button.ts
|-textField.ts
|-dropdownMenu.ts
|-my-lib.ts // Source file for UMD lib
Run Code Online (Sandbox Code Playgroud)
my-lib.ts文件:
import {Button} from './components/button';
import {TextField} from './components/textField';
import {DropdownMenu} from './components/dropdownMenu';
export {
Button,
TextField,
DropdownMenu,
}
Run Code Online (Sandbox Code Playgroud)
因此,当在 HTML 中包含my-lib.min.jsvia时src,我可以使用我的组件,例如:(UMD 模块以 webpack 命名myLib)。
const username = new myLib.TextField();
Run Code Online (Sandbox Code Playgroud)
现在我想在新的 ts 项目中使用我的库。我不希望交付 TS 文件,而只想交付声明。这样我就可以像使用 JS UMD 模块一样使用我的 …
我有以下两个文件:
main.scss
|- base
| |- _typography.scss
Run Code Online (Sandbox Code Playgroud)
该_typography.scss文件包含:
$font-family: Roboto;
%typo-button{
font-family: $font-family;
font-size: 14px;
font-weight: 500;
text-transform: uppercase;
}
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试使用占位符来@extend上课main.scss%typo-button.
@use 'base/typography';
.button{
display: inline-block;
height: 48px;
padding: 12px 0px;
@extend typography.%typo-button;
}
Run Code Online (Sandbox Code Playgroud)
抛出以下错误:
Error: Expected identifier.
? @extend typography.%typo-button;
Run Code Online (Sandbox Code Playgroud)
那么,什么是使用正确的语法@extend用@use?@use与 a 一起使用@mixin没有问题,例如@include typography.my-mixin(). 但我想@extend在某些情况下使用而不是混合。
typescript ×3
javascript ×2
django ×1
es6-modules ×1
extend ×1
jsdoc ×1
node.js ×1
npm ×1
pylint ×1
sass ×1
webpack ×1