瀏覽代碼

調整專案設置

JAELYS 4 年之前
父節點
當前提交
fab40785cc
共有 2 個文件被更改,包括 24 次插入36 次删除
  1. 4 2
      TEAMModelOS/Startup.cs
  2. 20 34
      TEAMModelOS/TEAMModelOS.csproj

+ 4 - 2
TEAMModelOS/Startup.cs

@@ -100,6 +100,7 @@ namespace TEAMModelOS
             services.AddHttpClient();
             services.AddHttpClient<DingDing>();
             services.AddMemoryCache();
+            services.AddSpaStaticFiles(opt => opt.RootPath = "ClientApp/dist");
             services.AddControllers().AddJsonOptions(options => { options.JsonSerializerOptions.IgnoreNullValues = false; });
 
             //HttpContextAccessor,并用来访问HttpContext。(提供組件或非控制器服務存取HttpContext)
@@ -127,8 +128,9 @@ namespace TEAMModelOS
 
             //以下需要按照順序載入中間件  如果应用调用 UseStaticFiles,请将 UseStaticFiles 置于 UseRouting之前。
             app.UseStaticFiles();
-            //app.UseSpaStaticFiles(); //使用中間件不開
-            //  app.UseSpaStaticFiles();
+            //PRODUCTION uses webpack static files
+            app.UseSpaStaticFiles();            
+            
             app.UseRouting();
 
             app.UseCors(MyAllowSpecificOrigins); //使用跨域設定

+ 20 - 34
TEAMModelOS/TEAMModelOS.csproj

@@ -9,25 +9,16 @@
     <PackageReference Include="DotNetZip" Version="1.15.0" />
     <PackageReference Include="HTEXLib" Version="2.3.9" />
     <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.6" />
-      <PackageReference Include="VueCliMiddleware" Version="5.0.0" />  </ItemGroup>
-  <PropertyGroup>
-    <SpaRoot>ClientApp\</SpaRoot>
-    <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
-    <UserSecretsId>df088159-30c9-42c2-8385-46a7e7a93995</UserSecretsId>
-  </PropertyGroup>
+      <PackageReference Include="VueCliMiddleware" Version="5.0.0" />
+  </ItemGroup>  
   <ItemGroup>
     <!-- Don't publish the SPA source files, but do show them in the project files list -->
     <Compile Remove="JsonFile\Subject\**" />
     <Compile Remove="logfile\**" />
-    <Compile Remove="Models\SchoolInfo\**" />
-    <Content Remove="$(SpaRoot)**" />
-    
-    <Content Remove="JsonFile\Subject\**" />
-    
-    <Content Remove="logfile\**" />
-    
-    <Content Remove="Models\SchoolInfo\**" />
-    <None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
+    <Compile Remove="Models\SchoolInfo\**" />     
+    <Content Remove="JsonFile\Subject\**" />    
+    <Content Remove="logfile\**" />    
+    <Content Remove="Models\SchoolInfo\**" />    
   </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Remove="JsonFile\Subject\**" />
@@ -36,41 +27,39 @@
     <None Remove="JsonFile\Subject\**" />
     <None Remove="logfile\**" />
     <None Remove="Models\SchoolInfo\**" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Remove="ClientApp\src\static\BaseDataDefault.json" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="ClientApp\src\static\BaseDataDefault.json">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
-      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
-    </Content>
-  </ItemGroup>
-
+  </ItemGroup> 
   <ItemGroup>
     <Folder Include="JwtRsaFile\" />
     <Folder Include="Services\Evaluation\" />
-  </ItemGroup>
-  
+  </ItemGroup>  
   <ItemGroup>
     <ProjectReference Include="..\TEAMModelOS.SDK\TEAMModelOS.SDK.csproj" />
   </ItemGroup>
 
+  <PropertyGroup>
+    <!-- Typescript/Javascript Client Configuration -->
+    <SpaRoot>ClientApp\</SpaRoot>
+    <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
+  </PropertyGroup>
   <Target Name="DebugEnsureNodeEnv" BeforeTargets="Build">
     <!-- Build Target:  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." />
+  </Target>
+
+  <Target Name="DebugEnsureNpm" AfterTargets="DebugEnsureNodeEnv">
+    <!-- Build Target:  Ensure Node.js is installed -->
     <Exec Command="npm --version" ContinueOnError="true">
       <Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
     </Exec>
-    <Error Condition="'$(ErrorCode)' != '0'" Text="Node.js and npm are 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." />
   </Target>
 
-  <Target Name="EnsureNodeModulesInstalled" BeforeTargets="Build" Inputs="package.json" Outputs="packages-lock.json" Condition="!Exists('$(SpaRoot)node_modules')">
+  <Target Name="EnsureNodeModulesInstalled" BeforeTargets="Build" Inputs="package.json" Outputs="packages-lock.json">
     <!-- Build Target: Restore NPM packages using npm -->
     <Message Importance="high" Text="Restoring dependencies using 'npm'. This may take several minutes..." />
+
     <Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
   </Target>
 
@@ -85,10 +74,7 @@
       <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
         <RelativePath>%(DistFiles.Identity)</RelativePath>
         <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
-        <ExcludeFromSingleFile>True</ExcludeFromSingleFile>
       </ResolvedFileToPublish>
     </ItemGroup>
   </Target>
-
-  <!--<ProjectExtensions><VisualStudio><UserProperties properties_4launchsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions>-->
 </Project>