Я должен что-то отсутствует очень просто здесь, потому что я не понимаю, как кто-то может иметь функционирующую угловой Cli приложение, не имея возможности сделать следующее ...Как загрузить пучки с угловыми cli?
Контекст
У меня есть Угловое 2 с эксплойтом express.js, выступающим в качестве API. Я переключился с webpack на angular-cli, чтобы расслоить мои файлы, поскольку он предлагает легкую компиляцию Ahead-Of-Time.
То, что я не ожидал, было угловато-cli настолько самоуверенным, что мне даже требуется хранить файл index.html внутри каталога углового приложения в моем репозитории (ранее я сохранил его в/views для express.js для отправки клиентам).
Проблема
Я изо всех сил, чтобы увидеть, как я могу загрузить выведенные JS пучки из угловых кли, если у меня есть Node.js сервер. Рассмотрим следующий фрагмент кода: angular-cli.json
"apps": [
{
"root": "app",
"outDir": "public/dist",
],
Оба мои bundle.js
файлы и мой index.html
будут выводиться в public/dist
. Это означает, что я должен обновить свой Node.js маршруты изменения:
// Root
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname + '/../views/index.html'));
});
к:
// Root
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname + '/../public/dist/index.html'));
});
Теперь проблема заключается в том, что мой public/dist/index.html
файл имеет <base href="/">
тега, и следующий сгенерированные теги сценария:
<script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script>
Ну, очевидно, когда я бегу мой сервер Node.js, эти вышеуказанные пакеты не будут найдены, потому что они не существуют на месте базового HREF в. Нет /inline.bundle.js
, потому что он находится по адресу /public/dist/inline.bundle.js
. Итак, как я могу загружать приложение frontend?
Рассмотрим с помощью статического веб-сервера, как 'nginx' для статического frontend files, так я всегда делаю –