У меня есть базовое приложение NET с angular 6, и я пытаюсь минимизировать файлы сборки для производственной среды (vendor.js, main.js и т. Д.) Во время процесса публикации, но файлы никогда не создаютсяminified или что-то близкое, потому что они сохраняют все пробелы и комментарии.
У меня есть производственные конфигурации, заданные в angular.json, а также команды сборки в файле .csproj, но ничего не работает.Я пробовал использовать:
npm run build --prod
npm run build --target=production
npm run build --target=prod --environment=prod
npm run build --target=production --environment=production
угловой CLI: 6.1.5 / узел: 11.6.0 / ОС: win32 x64 / угловой: 6.1.10
angular.json
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
}
}
csproj file
<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>