Visual Studio 2015不能将TypeScript编译为ASP.NET Core项目的一部分吗?

4
我正在使用VS2015,尝试在ASP.NET Core项目中使用TypeScript制作Angular应用程序,但无论我尝试什么,都无法使我的Angular虚拟项目被转译到wwwroot文件夹,尽管VS2015将其识别为TypeScript虚拟项目。这是我的项目结构:

enter image description here

这是我的tsconfig.json文件:
{
  "compileOnSave": true,
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "module": "system",
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "outDir": "../../wwwroot/"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

Visual Studio并不会自动编译,即使在命令行中运行npm run tsc:w main.ts也会出现文件未找到的错误。我该如何让我的ts文件进行构建?


几周前,我曾经使用Angular2和ts处理过类似的主题。虽然我有点偏爱Visual Studio将所有内容集成到一个地方,并与c#后端一起使用,但是大量阅读令我惊讶地尝试了VS Code用于前端和Angular。对我来说,它与Angular的集成更加无缝,并且在前端工作时非常舒适(特别是与vs相比的突破速度)。 - Turo
@Turo 不幸的是没有那个选项。 - marked-down
我在vs2015升级3的过程中遇到了同样的问题。对我来说,解决方案是手动将TypeScript版本设置为1.7或更高: http://stackoverflow.com/questions/39021808/vs2015-adding-watch-true-to-tsconfig-json-causing-jserrorscriptexception-0x/39022452#39022452 - Dudi
2个回答

0

@EchoLogic,请把你的Angular文件夹改名为scripts,应该可以解决问题。


@SambhavSharma 这不是向作者请求信息,而是提出解决方案。这是一个答案。 - Servy

0

你的输出目录是相对于 tsconfig.json 的,因此你的路径应该类似于:../wwwroot/。这是我自己的 tsconfig.json 的一个示例:

{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"outFile": "../wwwroot/app/app.js"
  },
"compileOnSave": true,
"files": [
  "../typings/main.d.ts",
  "app.module.ts",
  "app.config.ts",
  "home.controller.ts",
  "myTeam.controller.ts"
  ]} 

我也更喜欢通过gulp构建TypeScript。 我已经发布了两篇文章,介绍如何做到这一点:
这里您可以找到完整的逐步指南,了解如何配置ASP.NET Core应用程序以编译TypeScript: ASP.NET Core:修改Angular应用程序以使用TypeScript 以及如何在Gulp工作流中执行相同操作: ASP.NET Core:使用Gulp构建TypeScript

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接