Visual studio 2015 Visual Studio 2015 RC Typescript实验装饰程序错误
如何在VS2015中禁用以下错误 TS1219对装饰器的实验性支持是一项功能,在未来的版本中可能会有所改变。指定“--experimentalDecorators”以删除此警告。 我正在尝试使用Angular2注释。我尝试将以下内容手动添加到项目文件中,但没有成功:Visual studio 2015 Visual Studio 2015 RC Typescript实验装饰程序错误,visual-studio-2015,angular,typescript1.5,Visual Studio 2015,Angular,Typescript1.5,如何在VS2015中禁用以下错误 TS1219对装饰器的实验性支持是一项功能,在未来的版本中可能会有所改变。指定“--experimentalDecorators”以删除此警告。 我正在尝试使用Angular2注释。我尝试将以下内容手动添加到项目文件中,但没有成功: <TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators> True 我还安装了TypeScript 1.5.0测
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
True
我还安装了TypeScript 1.5.0测试版扩展。将IDE升级到最新版本。然后在项目根目录下创建tsconfig.json文件(如果您还没有)。然后添加
experimentalDecorators
作为编译器选项
示例:
{
"version": "1.5.0",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"sourceMap": true,
"listFiles": true,
"outDir": "dist",
"experimentalDecorators": true
}
}
{
"compileOnSave": true,
"compilerOptions": {
"module": "commonjs",
"sourceMap": true,
"experimentalDecorators": true
}
}
Visual Studio 2015支持以Typescript 1.8版开始的tsconfig文件。在项目的根目录下创建tsconfig.json文件,并添加
experimentalDecorators
编译器选项
示例:
{
"version": "1.5.0",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"sourceMap": true,
"listFiles": true,
"outDir": "dist",
"experimentalDecorators": true
}
}
{
"compileOnSave": true,
"compilerOptions": {
"module": "commonjs",
"sourceMap": true,
"experimentalDecorators": true
}
}
对于旧版本:
如果您有一个项目文件,则不会使用tsconfig。项目文件优先。我们仍然在刷新VS项目和tsconfig之间的集成故事,因为您可以在这两个项目中指定编译器选项
因此,要禁用错误消息,请右键单击项目文件,卸载项目,然后右键单击编辑项目文件,在文件末尾应有一个配置部分,添加:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
....
<TypeScriptExperimentalDecorators>true</TypeScriptExperimentalDecorators>
</PropertyGroup>
....
真的
保存并重新加载
您可能还需要TypeScriptEmitDecoratorMetadata来映射--EmitDecoratorMetadata
我也有类似的问题。我有很多东西要和大家分享我的发现。我也在研究Angular 2(ng-book-2) 我在用什么? IDE:WebStorm 打字稿:1.6.2 时间:2015年10月10日 我在做什么? 我试着把app.ts编译成app.js;但是,我遇到了以下错误: 错误TS5052:如果未指定选项“experimentalDecorators”,则无法指定选项“emitDecoratorMetadata” 这是我之前的tsconfig.json
{
"version": "1.5.0",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true
},
"filesGlob": [
"./**/*.ts",
"!./node_modules/**/*.ts"
],
"files": [
"./app.ts",
"./typings/angular2/angular2.d.ts",
"./typings/es6-promise/es6-promise.d.ts",
"./typings/rx/rx-lite.d.ts",
"./typings/rx/rx.d.ts",
"./typings/tsd.d.ts"
]
}
这是我的tsconfig.json后面的
{
"version": "1.6.2",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"filesGlob": [
"./**/*.ts",
"!./node_modules/**/*.ts"
],
"files": [
"./app.ts",
"./typings/angular2/angular2.d.ts"
]
}
将tsconfig.json从之前更改为之后有效地解决了我的两个问题。一个是上面的问题,另一个是下面的问题。这里讨论后一个问题
打字/es6承诺/es6承诺d.ts(11,15):错误TS2300:重复标识符“承诺”。
打字/es6承诺/es6承诺d.ts(42,16):错误TS2300:重复标识符“承诺”。
打字/es6垫片/es6垫片d.ts(475,11):错误TS2300:重复标识符“承诺”。
打字/es6垫片/es6垫片d.ts(552,13):错误TS2300:重复标识符“承诺”
在Visual Studio 2015中,您必须在TypeScript项目文件中启用
TypeScriptExperimentalDecorators
卸载项目文件,然后添加此行:
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
True
我复制了完整的PropertyGroup,以便您可以找到添加位置:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptRemoveComments>false</TypeScriptRemoveComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap>
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>System</TypeScriptModuleKind>
<TypeScriptOutFile />
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
</PropertyGroup>
假的
真的
ES5
没有一个
真的
假的
系统
假的
真的
真的
1.7
...........
$(TypeScriptAdditionalFlags)--emitDecoratorMetadata--实验记录器
发现我还必须为元数据添加一个标记
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<!--other -->
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
<TypeScriptEmitDecoratorMetadata>True</TypeScriptEmitDecoratorMetadata>
</PropertyGroup>
真的
真的
我也遇到了这个问题
在以下时间遇到:
- 从Angular2-2.0.0-beta.17开始
- Visual Studio 2015更新3
- Microsoft Visual Studio扩展1.8.34.0的Typescript
- 节点版本v6.2.2(cmdline“>Node--version”以查找您的节点)
- ASP.NET核心项目
- 卸载项目
- 将以下行添加到项目配置文件中
True
如果在csproj文件中找不到正确的属性组,或
您希望VS环境自动添加正确的属性组,然后只需切换“生成”
在“项目属性>生成”下的“生成时输出”,然后执行项目
卸货
- 保存文件并重新加载项目
- 关闭Visual Studio,然后启动并重新打开解决方案和项目
- 打开cmd并导航到项目的src文件夹
- 运行“npm安装-g打字”(我不喜欢这个。欢迎使用其他选项)
- 向tsconfig.json中的编译器选项添加
“experimentalDecorators”:true
- 再次检查您的解决方案。上述问题现在应该消失了
- 类型“Observable”上不存在属性“map”。(决议)
上述步骤为我解决了上述具体错误。我希望这会有所帮助。我通过更改csproj文件中的TypeScriptToolsVersion来解决这个问题,以匹配packages.json中定义的TypeScript版本(目前为2.0.2)
2.0.2
我遇到了这个错误,因为我尝试错误地创建了一个扩展名为“.js”而不是“.ts”的新文件。它在将文件扩展名更改为“.ts”后消失 我必须在vscode的settings.json文件中添加以下内容以删除警告
“javascript.implicitProjectConfig.experimentalDecorators”:true
VSCode->首选项->设置
只需使用Nuget Package Manager,我就可以将我的TypeScript升级到最新版本,这就解决了这个问题 这与Typescr有关