Typescript Visual Studio 2015中ASP.Net MVC项目中的node_模块文件夹和Angular2
除Angular组件部分外,我按照中的步骤将Angular2安装到新的ASP.NETMVC核心项目中 默认情况下,它以分层方式安装node_模块,并导致我的web项目无法加载,因为文件路径太长。然后,我使用“npm重复数据消除”将其展平 我收到了一些“构建:找不到名称'.''.'错误”(映射、设置、WeakMap等) 我如何解决这个问题 更新 这是我的web项目文件中的内容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
<?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就可以找到它们,但如果在解决方案中包含该文件夹,就会把一切都搞糟。那么你就不需要参考标签了。