Angular 7 build - сгенерированные файлы - PullRequest
0 голосов
/ 11 июля 2019

У меня возникла проблема с результирующими файлами из процесса сборки продукта в приложении angular7:

Программа сборки выполняется со следующими флагами:

ng build myApp --aot=true --progress=false --base-href=/app-ng/ --output-path=dist/ --prod --configuration=production --output-hashing=none

Из-за различных требованиймаршрут, по которому индекс выбирает файлы vendor.js, main.js и т. д., необходимо изменить следующим образом:

из:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>PeopleOs</title>
  <base href="/app/">  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/png" sizes="32x32" href="/ui/design/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/ui/design/favicon-16x16.png">
  <link rel="icon" type="image/x-icon" href="/ui/design/favicon.ico">
<link rel="stylesheet" href="../conference-ng/styles.a4bd136a77b52601cadb.css"></head>
<body>
  <pplos-root></pplos-root>
<script type="text/javascript" src="/runtime.dcdd77c06796f7b1eee4.js"></script><script type="text/javascript" src="/polyfills.6c7e1fff37149795538b.js"></script><script type="text/javascript" src="/main.134c83da3aea9780ff98.js"></script></body>

в:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>PeopleOs</title>
  <base href="/app/">  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/png" sizes="32x32" href="/ui/design/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/ui/design/favicon-16x16.png">
  <link rel="icon" type="image/x-icon" href="/ui/design/favicon.ico">
<link rel="stylesheet" href="../conference-ng/styles.a4bd136a77b52601cadb.css"></head>
<body>
  <pplos-root></pplos-root>
<script type="text/javascript" src="../app-ng/runtime.dcdd77c06796f7b1eee4.js"></script><script type="text/javascript" src="../app-ng/polyfills.6c7e1fff37149795538b.js"></script><script type="text/javascript" src="../app-ng/main.134c83da3aea9780ff98.js"></script></body>

Обратите внимание на изменение в src, откуда индекс выбирает файлы комплекта

Это прекрасно работает, но angular 7 создает дополнительный файл, который я не могу определить, и он не извлекается из index.html, но извлекается из какого-то источникаостальное.Так как я не могу изменить URL для этого файла, как я делаю с другими, эта выборка заканчивается ошибкой.

Это выходные данные процесса сборки:

Date: 2019-07-11T13:04:42.096Z
Hash: 85d1d51fc7a58f145037
Time: 109542ms
chunk {0} runtime.js (runtime) 2.11 kB [entry] [rendered]
chunk {1} main.js (main) 82 kB [initial] [rendered]
chunk {2} polyfills.js (polyfills) 114 kB [initial] [rendered]
chunk {3} styles.css (styles) 37.3 kB [initial] [rendered]
chunk {4} vendor.js (vendor) 1.11 MB [initial] [rendered]
chunk {5} 5.js () 405 kB  [rendered]

Это "5.js", который я не могу ни идентифицировать, ни изменить, как его извлекают во время выполнения по индексу.HTML.Я проверил его, он содержит файлы констант и компоненты из модулей моего углового приложения.

  • Можно ли связать этот файл в vendor.js или main.js и избавиться от него?
  • Есть ли способ указать общий префикс url, который прикрепляется ко всем выборкам файлов (а также к 5.js)?Например: '../app-ng/' перенесён в конфигурационную переменную angular.json или webpack
  • Любая другая идея, которая может помочь здесь?

Приложение работает по определенным правилам NGINX, которые делают возможной выборку этих файлов.

Спасибо.

1 Ответ

0 голосов
/ 11 июля 2019

Вы можете использовать опцию deploy-url, чтобы указать, куда загружать файлы js / css файлов из

ng build ... --deploy-url ../app-ng
...