Typescript Visual Studio 2015中ASP.Net MVC项目中的node_模块文件夹和Angular2

Typescript Visual Studio 2015中ASP.Net MVC项目中的node_模块文件夹和Angular2,typescript,angular,Typescript,Angular,除Angular组件部分外,我按照中的步骤将Angular2安装到新的ASP.NETMVC核心项目中 默认情况下,它以分层方式安装node_模块,并导致我的web项目无法加载,因为文件路径太长。然后,我使用“npm重复数据消除”将其展平 我收到了一些“构建:找不到名称'.''.'错误”(映射、设置、WeakMap等) 我如何解决这个问题 更新 这是我的web项目文件中的内容 <?xml version="1.0" encoding="utf-8"?> <Project Tool

除Angular组件部分外,我按照中的步骤将Angular2安装到新的ASP.NETMVC核心项目中

默认情况下,它以分层方式安装node_模块,并导致我的web项目无法加载,因为文件路径太长。然后,我使用“npm重复数据消除”将其展平

我收到了一些“构建:找不到名称'.''.'错误”(映射、设置、WeakMap等)

我如何解决这个问题

更新

这是我的web项目文件中的内容

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
  <Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.Props" Condition="'$(VSToolsPath)' != ''" />
  <PropertyGroup Label="Globals">
    <ProjectGuid>3775534b-d08c-45f2-8d5a-4a4f6e91edb9</ProjectGuid>
    <RootNamespace>MyProject</RootNamespace>
    <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">..\..\artifacts\obj\$(MSBuildProjectName)</BaseIntermediateOutputPath>
    <OutputPath Condition="'$(OutputPath)'=='' ">..\..\artifacts\bin\$(MSBuildProjectName)\</OutputPath>
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>
  <PropertyGroup>
    <SchemaVersion>2.0</SchemaVersion>
  </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptJSXEmit>None</TypeScriptJSXEmit>
    <TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
    <TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
    <TypeScriptModuleKind>CommonJS</TypeScriptModuleKind>
    <TypeScriptRemoveComments>False</TypeScriptRemoveComments>
    <TypeScriptOutFile />
    <TypeScriptModuleResolution>NodeJs</TypeScriptModuleResolution>
    <TypeScriptOutDir />
    <TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
    <TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
    <TypeScriptSourceMap>True</TypeScriptSourceMap>
    <TypeScriptMapRoot />
    <TypeScriptSourceRoot />
    <TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
  </PropertyGroup>
  <Target Name="FixTsBuildConfiguration" BeforeTargets="CompileTypeScript" >
    <PropertyGroup>
      <TypeScriptBuildConfigurations>$(TypeScriptBuildConfigurations.Replace("--moduleResolution NodeJs", "--moduleResolution node"))</TypeScriptBuildConfigurations>
   </PropertyGroup>
  </Target>
  <ItemGroup>
    <DnxInvisibleContent Include="bower.json" />
    <DnxInvisibleContent Include=".bowerrc" />
    <DnxInvisibleContent Include="package.json" />
    <DnxInvisibleFolder Include="wwwroot\bower_components\" />
    <DnxInvisibleFolder Include="wwwroot\node_modules\" />
  </ItemGroup>
  <Import Project="$(VSToolsPath)\DNX\Microsoft.DNX.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>

14
$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
3775534b-d08c-45f2-8d5a-4a4f6e91edb9
我的项目
..\..\artifacts\obj\$(MSBuildProjectName)
..\..\artifacts\bin\$(MSBuildProjectName)\
萨克
萨克
萨克
萨克
2
ES5
没有一个
真的
假的
普通的
假的
NodeJs
假的
真的
真的
真的
$(TypeScriptBuildConfigurations.Replace(“--moduleResolution NodeJs”,“--moduleResolution node”))

此设置在ASP.NET项目中对我有效

tsconfig.json

"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"module": "commonjs",
"moduleResolution": "node",
"noImplicitAny": false,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"outDir": "./dist"
},
"exclude": [
        "node_modules"
      ]
index.html

<script>
//configure system loader
    System.config({
        defaultJSExtensions: true,
        paths: {
            '*': 'node_modules/*',
            'dist/*': 'dist/*'
        }
    });
</script>

此安装程序正在ASP.NET项目中为我工作

tsconfig.json

"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"module": "commonjs",
"moduleResolution": "node",
"noImplicitAny": false,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"outDir": "./dist"
},
"exclude": [
        "node_modules"
      ]
index.html

<script>
//configure system loader
    System.config({
        defaultJSExtensions: true,
        paths: {
            '*': 'node_modules/*',
            'dist/*': 'dist/*'
        }
    });
</script>

试一下,在
tsconfig.json
内部将
目标改为
“es5”
目标改为
“es6”
。试一下,在
tsconfig.json内部将
目标改为
“es5”
目标改为
“es6”
。顺便说一下,在这个设置中,我没有义务使用npm重复数据消除等。我使用npmi将包安装到默认位置,效果很好。希望它能有所帮助。我不再需要执行重复数据消除,因为我已经将该文件夹从Visual Studio项目中排除。现在我遇到了许多重复标识符错误。我仍在想如何修复它。我发现这是因为我的组件文件有一个引用标记。我正在想办法让它在没有标签的情况下工作。确保你的项目中没有节点模块。然后,Typescript就可以找到它们,但如果在解决方案中包含该文件夹,就会把一切都搞糟。那么你就不需要参考标签了。顺便说一句,在这个设置中,我没有义务使用npm重复数据消除等等。我使用npmi将包安装到默认位置,效果很好。希望它能有所帮助。我不再需要执行重复数据消除,因为我已经将该文件夹从Visual Studio项目中排除。现在我遇到了许多重复标识符错误。我仍在想如何修复它。我发现这是因为我的组件文件有一个引用标记。我正在想办法让它在没有标签的情况下工作。确保你的项目中没有节点模块。然后,Typescript就可以找到它们,但如果在解决方案中包含该文件夹,就会把一切都搞糟。那么你就不需要参考标签了。