代码之家  ›  专栏  ›  技术社区  ›  CularBytes

Angular production release不在dist-Azure DevOps中创建我的应用程序文件夹

  •  0
  • CularBytes  · 技术社区  · 8 年前

    运行时 ng build --prod --aot 在本地,它会在dist/文件夹中创建一个“我的应用程序”文件夹。在内部,我有预期的mian、polyfills和运行时js文件(带有散列值)。

    我的 angular.json

      "projects": {
        "my-app": {
          "root": "",
          "sourceRoot": "./ClientApp",
          "projectType": "application",
          "prefix": "app",
          "schematics": {},
          "architect": {
            "build": {
              "builder": "@angular-devkit/build-angular:browser",
              "options": {
                "outputPath": "dist/my-app",
                "index": "./ClientApp/index.html",
                "main": "./ClientApp/main.ts",
                "polyfills": "./ClientApp/polyfills.ts",
                "tsConfig": "./ClientApp/tsconfig.app.json",
                "assets": [
                  "./ClientApp/favicon.ico",
                  "./ClientApp/assets"
                ],
                "styles": [
                  "./ClientApp/styles.css"
                ],
                "scripts": []
              },
              "configurations": {
                "production": {
                  "fileReplacements": [
                    {
                      "replace": "./ClientApp/environments/environment.ts",
                      "with": "./ClientApp/environments/environment.prod.ts"
                    }
                  ],
                  "optimization": true,
                  "outputHashing": "all",
                  "sourceMap": false,
                  "extractCss": true,
                  "namedChunks": false,
                  "aot": true,
                  "extractLicenses": true,
                  "vendorChunk": false,
                  "buildOptimizer": true
                }
              }
            },
    

    在本地运行:

    PS C:\Users\USER\Source\Repos\MyProject\MyProject.MVC> npm run buildconfigprod --verbose
    npm info it worked if it ends with ok
    npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
    npm verb cli   'C:\\Users\\USER\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
    npm verb cli   'run',
    npm verb cli   'buildconfigprod',
    npm verb cli   '--verbose' ]
    npm info using npm@6.4.0
    npm info using node@v8.9.4
    npm verb run-script [ 'prebuildconfigprod',
    npm verb run-script   'buildconfigprod',
    npm verb run-script   'postbuildconfigprod' ]
    npm info lifecycle my-app@0.0.0~prebuildconfigprod: my-app@0.0.0
    npm info lifecycle my-app@0.0.0~buildconfigprod: my-app@0.0.0
    
    > my-app@0.0.0 buildconfigprod C:\Users\USER\Source\Repos\MyProject\MyProject.MVC
    > ng build my-app --configuration production
    
    Your global Angular CLI version (6.2.1) is greater than your local
    version (6.1.5). The local Angular CLI version is used.
    
    To disable this warning use "ng config -g cli.warnings.versionMismatch false".
    
    Date: 2018-10-16T12:45:26.931Z
    Hash: fdf36103c4e08ff1c324
    Time: 21386ms
    chunk {0} runtime.a66f828dca56eeb90e02.js (runtime) 1.05 kB [entry] [rendered]
    chunk {1} styles.a474c4b2064489e33e1b.css (styles) 0 bytes [initial] [rendered]
    chunk {2} polyfills.001789666250e4564d51.js (polyfills) 59.6 kB [initial] [rendered]
    chunk {3} main.aecca14d2a03e91e82ca.js (main) 660 kB [initial] [rendered]
    npm verb lifecycle my-app@0.0.0~buildconfigprod: unsafe-perm in lifecycle true
    npm verb lifecycle my-app@0.0.0~buildconfigprod: PATH: C:\Users\USER\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\USER\Source\Repos\MyProject\MyProject.MVC\node_modules\.bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\dotnet\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\GnuPG\bin;C:\Program Files\SafeNet\Authentication\SAC\x64;C:\Program Files\SafeNet\Authentication\SAC\x32;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\nodejs\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files\Git\cmd;C:\Users\USER\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\USER\AppData\Roaming\npm;C:\Users\USER\.dotnet\tools
    npm verb lifecycle my-app@0.0.0~buildconfigprod: CWD: C:\Users\USER\Source\Repos\MyProject\MyProject.MVC
    npm info lifecycle my-app@0.0.0~postbuildconfigprod: my-app@0.0.0
    npm verb exit [ 0, true ]
    npm timing npm Completed in 26723ms
    npm info ok
    

    步骤1 npm安装:

    step1

    enter image description here

    哪里 release 在package.json中具有以下脚本命令:

      "scripts": {
        "ng": "ng",
        "start": "ng serve",
        "build": "ng build",
        "test": "ng test",
        "lint": "ng lint",
        "release": "ng build --prod --aot",
        "buildconfigprod": "ng build my-app --configuration production",
        "runprod": "ng run my-app:build:production",
        "e2e": "ng e2e"
      },
    

    Azure DevOps的日志文件:

    2018-10-16T12:43:06.5605572Z ##[section]Starting: npm build angular app MVC
    2018-10-16T12:43:06.5611048Z ==============================================================================
    2018-10-16T12:43:06.5611217Z Task         : npm
    2018-10-16T12:43:06.5611638Z Description  : Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Package Management.
    2018-10-16T12:43:06.5611811Z Version      : 1.0.24
    2018-10-16T12:43:06.5611948Z Author       : Microsoft Corporation
    2018-10-16T12:43:06.5612115Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=613746)
    2018-10-16T12:43:06.5612281Z ==============================================================================
    2018-10-16T12:43:07.1829249Z SYSTEMVSSCONNECTION exists true
    2018-10-16T12:43:07.4015731Z SYSTEMVSSCONNECTION exists true
    2018-10-16T12:43:07.4892005Z [command]C:\Windows\system32\cmd.exe /D /S /C "C:\npm\prefix\npm.cmd --version"
    2018-10-16T12:43:07.8349637Z 6.4.0
    2018-10-16T12:43:08.6554123Z [command]C:\Windows\system32\cmd.exe /D /S /C "C:\npm\prefix\npm.cmd config list"
    2018-10-16T12:43:09.0251326Z ; cli configs
    2018-10-16T12:43:09.0251779Z metrics-registry = "https://registry.npmjs.org/"
    2018-10-16T12:43:09.0251984Z scope = ""
    2018-10-16T12:43:09.0252178Z user-agent = "npm/6.4.0 node/v8.12.0 win32 x64"
    2018-10-16T12:43:09.0252301Z 
    2018-10-16T12:43:09.0252479Z ; environment configs
    2018-10-16T12:43:09.0252659Z cache = "C:\\npm\\cache"
    2018-10-16T12:43:09.0252830Z loglevel = "verbose"
    2018-10-16T12:43:09.0253434Z prefix = "C:\\npm\\prefix"
    2018-10-16T12:43:09.0254273Z userconfig = "D:\\a\\1\\npm\\619.npmrc"
    2018-10-16T12:43:09.0254488Z 
    2018-10-16T12:43:09.0254712Z ; builtin config undefined
    2018-10-16T12:43:09.0254864Z 
    2018-10-16T12:43:09.0255099Z ; node bin location = C:\Program Files\nodejs\node.exe
    2018-10-16T12:43:09.0255339Z ; cwd = D:\a\1\s\MyProject.MVC
    2018-10-16T12:43:09.0255574Z ; HOME = C:\Users\VssAdministrator
    2018-10-16T12:43:09.0255809Z ; "npm config ls -l" to show all defaults.
    2018-10-16T12:43:09.0256006Z 
    2018-10-16T12:43:09.0257369Z [command]C:\Windows\system32\cmd.exe /D /S /C "C:\npm\prefix\npm.cmd run release"
    2018-10-16T12:43:09.0258780Z npm info it worked if it ends with ok
    2018-10-16T12:43:09.0259425Z npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
    2018-10-16T12:43:09.0259656Z npm verb cli   'C:\\npm\\prefix\\node_modules\\npm\\bin\\npm-cli.js',
    2018-10-16T12:43:09.0259847Z npm verb cli   'config',
    2018-10-16T12:43:09.0260037Z npm verb cli   'list' ]
    2018-10-16T12:43:09.0260233Z npm info using npm@6.4.0
    2018-10-16T12:43:09.0260415Z npm info using node@v8.12.0
    2018-10-16T12:43:09.0260598Z npm verb exit [ 0, true ]
    2018-10-16T12:43:09.0260766Z npm timing npm Completed in 58ms
    2018-10-16T12:43:09.0260944Z npm info ok 
    2018-10-16T12:44:12.2488227Z npm info it worked if it ends with ok
    2018-10-16T12:44:12.2488475Z 
    2018-10-16T12:44:12.2489256Z > my-app@0.0.0 release D:\a\1\s\MyProject.MVC
    2018-10-16T12:44:12.2489977Z npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
    2018-10-16T12:44:12.2490873Z npm verb cli   'C:\\npm\\prefix\\node_modules\\npm\\bin\\npm-cli.js',
    2018-10-16T12:44:12.2491258Z npm verb cli   'run',
    2018-10-16T12:44:12.2491522Z npm verb cli   'release' ]
    2018-10-16T12:44:12.2491785Z npm info using npm@6.4.0
    2018-10-16T12:44:12.2492045Z npm info using node@v8.12.0
    2018-10-16T12:44:12.2492318Z npm verb run-script [ 'prerelease', 'release', 'postrelease' ]
    2018-10-16T12:44:12.2492601Z npm info lifecycle my-app@0.0.0~prerelease: my-app@0.0.0
    2018-10-16T12:44:12.2492905Z npm info lifecycle my-app@0.0.0~release: my-app@0.0.0
    2018-10-16T12:44:12.2493192Z npm verb lifecycle my-app@0.0.0~release: unsafe-perm in lifecycle true
    2018-10-16T12:44:12.2494714Z npm verb lifecycle my-app@0.0.0~release: PATH: C:\npm\prefix\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\a\1\s\MyProject.MVC\node_modules\.bin;C:\hostedtoolcache\windows\NuGet\4.5.0\x64;C:\agents\2.140.2\externals\git\cmd;C:\tools\mingw64\bin;C:\Program Files\dotnet;C:\mysql-5.7.21-winx64\bin;C:\Program Files\Java\jdk1.8.0_181\bin;C:\npm\prefix;C:\hostedtoolcache\windows\Ruby\2.5.0\x64\bin;C:\Go1.11\bin;C:\Program Files\Git\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\Scripts;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64;C:\Program Files\Microsoft MPI\Bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\Chocolatey\bin;C:\Program Files\Docker;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Program Files\Git\cmd;C:\Program Files (x86)\Subversion\bin;C:\Program Files\nodejs\;C:\Program Files\CMake\bin;C:\Users\VssAdministrator\AppData\Local\Microsoft\WindowsApps
    2018-10-16T12:44:12.2497292Z npm verb lifecycle my-app@0.0.0~release: CWD: D:\a\1\s\MyProject.MVC
    2018-10-16T12:44:12.2497608Z npm info lifecycle my-app@0.0.0~postrelease: my-app@0.0.0
    2018-10-16T12:44:12.2497897Z npm verb exit [ 0, true ]
    2018-10-16T12:44:12.2498803Z npm timing npm Completed in 62897ms
    2018-10-16T12:44:12.2499072Z npm info ok 
    2018-10-16T12:44:12.2499965Z > ng build --prod --aot
    2018-10-16T12:44:12.2500240Z 
    2018-10-16T12:44:12.2500383Z 
    2018-10-16T12:44:12.2500635Z Date: 2018-10-16T12:44:12.131Z
    2018-10-16T12:44:12.2500900Z Hash: fdf36103c4e08ff1c324
    2018-10-16T12:44:12.2501151Z Time: 58602ms
    2018-10-16T12:44:12.2501432Z chunk {0} runtime.a66f828dca56eeb90e02.js (runtime) 1.05 kB [entry] [rendered]
    2018-10-16T12:44:12.2501739Z chunk {1} styles.a474c4b2064489e33e1b.css (styles) 0 bytes [initial] [rendered]
    2018-10-16T12:44:12.2502068Z chunk {2} polyfills.001789666250e4564d51.js (polyfills) 59.6 kB [initial] [rendered]
    2018-10-16T12:44:12.2502378Z chunk {3} main.aecca14d2a03e91e82ca.js (main) 660 kB [initial] [rendered]
    2018-10-16T12:44:12.2630774Z ##[section]Finishing: npm build angular app MVC
    

    angular项目位于ASP.NETMVC4.5应用程序中,该应用程序在执行后生成。

    还尝试在构建定义中安装6.4.0版本的NPM。

    我做错了什么,浪费了我的一天?

    编辑:

    enter image description here

    我已经诊断到目前为止,zip文件确实包含有效的文件,我正在寻找!万岁。。。因此,在构建解决方案时,它会清除dist/文件,然后生成outtsc文件夹。那不方便。我怎么能把这些文件放在那里?是什么导致.net内部版本清除dist文件夹并生成out tsc文件?

    所以我现在需要找到一种方法,在构建期间将文件保存在dist文件夹中。相反的做法是行不通的,因为在MVC构建过程中,我还将它转换为部署包。

    1 回复  |  直到 8 年前
        1
  •  1
  •   ggn979    7 年前

    我有以下设置,在所有环境中都能正常工作。

    不需要发布项目文件夹中的所有文件

    enter image description here

    此外,生成定义是通过以下命令链接任务创建的。

    enter image description here

        2
  •  0
  •   CularBytes    8 年前

    我最终通过更改下面的设置解决了这个问题,默认设置是“仅运行此应用程序所需的文件”。因此它将删除node\u模块和dist/my应用程序。

    Package settings

    这将确保项目文件夹中的所有文件都将被推送到发布文件夹。它确实有一些缺点,所以我宁愿看到另一个解决方案,确保node\u modules文件夹和dist/my app文件夹 部分应用程序和 需要 运行应用程序。

    推荐文章