首页 > 解决方案 > Visual Studio npm 安装错误的目录?Angular 中的 SPA

问题描述

随着新的 Visual Studio 更新,我相信它破坏了 npm 的连接。

我收到此错误:

npm WARN saveError ENOENT: no such file or directory, open 'C:\DDD_OneSystem\Presentation\Supply Chain\package.json'

我如何使它指向package.json实际需要的 clientapp?看看.csproj- 它似乎正指向那里。

关于还原包

PATH=C:\Program Files\nodejs;.\node_modules\.bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\NodeJs\win-x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\NodeJs;C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd;C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin
"C:\Program Files\nodejs\npm.CMD" install

npm WARN saveError ENOENT: no such file or directory, open 'C:\DDD_OneSystem\Presentation\Supply Chain\package.json'
npm 通知创建了一个锁文件为 package-lock.json。你应该提交这个文件。
npm WARN enoent ENOENT:没有这样的文件或目录,打开 'C:\DDD_OneSystem\Presentation\Supply Chain\package.json'
npm WARN Supply Chain No description
npm WARN Supply Chain No repository field。
npm WARN Supply Chain No README data
npm WARN Supply Chain No license field。
0.254s内更新
发现0个漏洞

在此处输入图像描述

.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
    <TypeScriptToolsVersion>3.1</TypeScriptToolsVersion>
    <IsPackable>false</IsPackable>
    <SpaRoot>ClientApp\</SpaRoot>
    <TypeScriptExperimentalDecorators>true</TypeScriptExperimentalDecorators>
    <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>

    <!-- Set this to true if you enable server-side prerendering -->
    <BuildServerSideRenderer>false</BuildServerSideRenderer>
    <RootNamespace>Supply_Chain</RootNamespace>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AutoMapper" Version="8.0.0" />
    <PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.7.0" />
    <PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="6.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" />
    <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="4.0.1" />
  </ItemGroup>

  <ItemGroup>
    <!-- Don't publish the SPA source files, but do show them in the project files list -->
    <Content Remove="$(SpaRoot)**" />
    <None Remove="$(SpaRoot)**" />
    <None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
  </ItemGroup>

  <ItemGroup>
    <None Remove="ClientApp\package.json" />
    <None Remove="ClientApp\src\app\components\product\product-supplier-search.component.ts" />
    <None Remove="ClientApp\src\app\components\supplier\supplier-shipments.datatable.component.ts" />
    <None Remove="ClientApp\src\app\global.d.ts" />
    <None Remove="ClientApp\src\app\pages\product\product-search.page.ts" />
    <None Remove="ClientApp\src\app\pages\supplier\supplier-shipments.page.ts" />
    <None Remove="ClientApp\src\app\services\shared\datatable-service.ts" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="ClientApp\package.json" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\OneSystem.Infrastructure\OneSystem.Infrastructure.csproj" />
    <ProjectReference Include="..\..\OneSystem.Persistance\OneSystem.Persistance.csproj" />
  </ItemGroup>

  <ItemGroup>
    <TypeScriptCompile Include="ClientApp\src\app\components\product\product-supplier-search.component.ts" />
    <TypeScriptCompile Include="ClientApp\src\app\components\supplier\supplier-shipments.datatable.component.ts" />
    <TypeScriptCompile Include="ClientApp\src\app\pages\product\product-search.page.ts" />
    <TypeScriptCompile Include="ClientApp\src\app\pages\supplier\supplier-shipments.page.ts" />
    <TypeScriptCompile Include="ClientApp\src\app\services\shared\datatable-service.ts" />
  </ItemGroup>

  <Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
    <!-- Ensure Node.js is installed -->
    <Exec Command="node --version" ContinueOnError="true">
      <Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
    </Exec>
    <Error Condition="'$(ErrorCode)' != '0'" Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />
    <Message Importance="high" Text="Restoring dependencies using 'npm'. This may take several minutes..." />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
  </Target>

  <Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
    <!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build -- --prod" />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:ssr -- --prod" Condition=" '$(BuildServerSideRenderer)' == 'true' " />

    <!-- Include the newly-built files in the publish output -->
    <ItemGroup>
      <DistFiles Include="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
      <DistFiles Include="$(SpaRoot)node_modules\**" Condition="'$(BuildServerSideRenderer)' == 'true'" />
      <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
        <RelativePath>%(DistFiles.Identity)</RelativePath>
        <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
      </ResolvedFileToPublish>
    </ItemGroup>
  </Target>

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptJSXEmit>None</TypeScriptJSXEmit>
    <TypeScriptModuleKind />
    <TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
    <TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
    <TypeScriptRemoveComments>False</TypeScriptRemoveComments>
    <TypeScriptOutFile />
    <TypeScriptOutDir />
    <TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
    <TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
    <TypeScriptSourceMap>True</TypeScriptSourceMap>
    <TypeScriptMapRoot />
    <TypeScriptSourceRoot />
  </PropertyGroup>

</Project>

标签: c#visual-studionpm

解决方案


似乎在调试中没问题,您不能使用恢复包。由于新的角度使用 angularcli 来处理所有不是视觉工作室的事情。

请记住,它是 angularcli 而不是视觉工作室,不要像我一样感到困惑!


推荐阅读