Angular 9 универсальных проблем развертывания - PullRequest
0 голосов
/ 03 мая 2020

Честно говоря, я нахожу это настолько раздражающим, что это постоянно меняется. Я решил эту самую проблему в более простой версии Angular здесь:

Развертывание Angular Универсальный в Azure

Но сейчас это устарело. Сервер больше не генерируется. js, вместо этого вам нужно изменить web.config , чтобы он указывал на main. js, что звучит как улучшение. Я обновил свой yaml до этого:

pool:
  name: Azure Pipelines
steps:
- task: gittools.gitversion.gitversion-task.GitVersion@5
  displayName: GitVersion

- task: NodeTool@0
  displayName: 'Use Node 12.x'
  inputs:
    versionSpec: 12.x

- task: Npm@1
  displayName: 'npm install angular cli'
  inputs:
    command: custom
    verbose: false
    customCommand: 'install @angular/cli -g'

- task: Npm@1
  displayName: 'npm install'
  inputs:
    verbose: false

- task: Npm@1
  displayName: 'npm build'
  inputs:
    command: custom
    verbose: false
    customCommand: 'run build:ssr'

- task: CopyFiles@2
  displayName: 'Copy dist files to staging'
  inputs:
    SourceFolder: '$(Build.SourcesDirectory)/dist'
    TargetFolder: '$(Build.ArtifactStagingDirectory)/app/dist'

- task: AzureRmWebAppDeployment@4
  displayName: 'Azure App Service Deploy: app-name'
  inputs:
    azureSubscription: 'Pay-As-You-Go (f61dc7cf-0ca2-4982-bbe7-9b6527c2962b)'
    WebAppName: r3plica
    packageForLinux: '$(Build.ArtifactStagingDirectory)/app'
    WebConfigParameters: '-Handler iisnode -NodeStartFile dist/app-name/server/main.js -appType node'

И это должно быть так, но, конечно, это не так просто. Теперь я получаю сообщение об ошибке, если я запускаю узел dist / app-name / server / main. js. Он возвращает это:

ReferenceError: Blob не определен в createBase64WorkerFactory (D: \ home \ site \ wwwroot \ dist \ app-name \ server \ main. js: 1: 1418371 )

Поэтому я немного осмотрелся, и кто-то предложил установить npm install --save-dev blob-polyfill, что я и сделал, а затем отредактировать файл server.ts :

import { Blob } from 'blob-polyfill';

global['Blob'] = Blob;

Но, похоже, это ничего не сделало. Ошибка все еще сохраняется. Кто-нибудь знает, что я должен делать?

...