我有一个简单的 TypeScript tsconfig.json
:
{
"compilerOptions": {
"target": "esnext",
"experimentalDecorators": true,
...
Run Code Online (Sandbox Code Playgroud)
以及一个使用装饰器的类:
class MyClass {
@myDecorator()
myField: any;
}
Run Code Online (Sandbox Code Playgroud)
装饰器导致myField
作为使用函数的属性发出__decorate
,该myDecorator
函数被传递给它。
升级到最新版本 (4.2.4) 后,它在 Visual Studio 2019 中停止工作,但它继续在 VS Code(使用 4.3.5)和持续集成工具(在 4.3.5 和较旧的 3.* TypeScript 版本中)中工作)。
经过一番调查后发现,发出的 JavaScript 已更改为显式包含这些字段,但仅限于 Visual Studio 2019 中嵌入的 TypeScript 4.2.4。这些显式字段导致__decorate
无法创建同名的新属性。
为什么发出的 JS 发生了变化?
我如何解决它?
javascript visual-studio typescript tsconfig typescript-decorator
SvelteKit v1.0.0-next.354
在我的所有商店、组件和 API 中,我必须手动设置import
类型才能使用它们,以防止 VS Code 中出现 TypeScript 错误:
import type { MyType } from '$lib/types`
Run Code Online (Sandbox Code Playgroud)
我尝试将我的类放入其中app.d.ts
,但这没有用。
declare namespace App{
export class Aircraft{
...
}
}
Run Code Online (Sandbox Code Playgroud)
对于一个包含数十个文件的非常大的项目来说,这变得相当麻烦。
有没有某种方法可以将我的所有类型全局包含在一个位置,以便它们可以在我的项目中的任何文件中使用?我对 TypeScript 很陌生,不确定它是如何工作的。
我将存档名称从“index.ts”更改为“style.ts”,之后总是在 tsconfig.json 中返回此错误:
“找不到文件‘/src/components/AboutContainer/index.ts’。该文件位于程序中,因为:默认匹配包含模式‘**/*’”
这是我的 tsconfig.json:
{
"extends": "expo/tsconfig.base",
"compilerOptions": {
"strict": true
}
}
Run Code Online (Sandbox Code Playgroud) 在Page TSConfig
根页面上,我有以下代码:
/////////////////////////////////////////////////////////////
// RTE
/////////////////////////////////////////////////////////////
RTE.classes{
highlight{
name = highlight
value = color:#636466; font-size:15px;
}
brown{
name = braun
value = color:#9A3811;
}
}
RTE.default{
ignoreMainStyleOverride = 1
useCSS = 1
contentCSS = fileadmin/templates/css/rte.css
classesCharacter := addToList(highlight, brown)
classesParagraph := addToList(highlight, brown)
proc.allowedClasses := addToList(highlight, brown)
showTagFreeClasses = 1
}
Run Code Online (Sandbox Code Playgroud)
在我,rte.css
我有这个:
/* content of rte.css */
.highlighthighlight {
font-size: 15px;
color: #636466;
}
.brown {
color: #9A3811;
}
Run Code Online (Sandbox Code Playgroud)
style.css
前端采用相同的风格.如果我在编辑器中,我无法选择文本样式.它总是被禁用.我想在段落中标出一些单词.我尝试使用不同的浏览器(IE,FF,Opera ...),但在所有这些浏览器中都禁用了文本样式.我能做什么?
我有Typo3 4.7.5
编辑
问题是由于已弃用的属性(请参阅 …
由于某种原因,我需要使用 eval() 并访问函数 ie foo
。但是,我无法用打字稿制作它。
eval("function foo() { console.log(\"foo bar\") }");
// @ts-ignore
foo();
Run Code Online (Sandbox Code Playgroud)
上面的代码将出现错误,而不是在控制台日志中打印“foo bar”。
VM42:4 Uncaught ReferenceError: foo is not defined
Run Code Online (Sandbox Code Playgroud)
您可以尝试这里的代码。
但是,相同的代码可以在javascript中工作。
是否需要额外配置?
tsconfig ×6
typescript ×5
javascript ×2
json ×1
neovim ×1
react-native ×1
react-tsx ×1
rte ×1
svelte ×1
sveltekit ×1
typo3 ×1
vim ×1