Запуск приложения Angular по умолчанию для проекта NodeJS - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть приложение NodeJS и внешний интерфейс Angular 6.

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

-> Node Project
   ---> src 
       ---> Client_App (Anuglar)

Чтобы запустить приложение, мне нужно выполнить эти команды и запуститьсервер и angular отдельно, например:

-> node start
-> cd src/Client_App
-> ng serve

Мне нужно запустить два приложения с помощью одной команды или добавить мой дистрибутив Angular для запуска в начале моего NodeJS, использующего право Jadeсейчас.

Я все еще новичок в NodeJS и все еще не знаю, как его настроить.

Кто-нибудь может помочь?Спасибо

Отредактировано:

Я уже пытался добавить папку dist в папку моих представлений и запустить ее в app.js

app.get('/', function (req, res, next) {
  res.sendFile(path.join(__dirname + '/app_server/views/ngapp/index.html'));
});

Но я получаюошибка, что мои папки .js и .css не найдены: enter image description here

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Вы можете создать новый маршрут и передать его в app.route как express.static, как показано ниже,

var express = require('express');

var path = require('path');
var bodyParser = require('body-parser');
var app = express();
app.use(express.static(path.join(__dirname, 'dist')));

убедитесь, что у вас есть версия сборки углового приложения, выполнив эту команду,

ng build --prod --build-optimizer

Вам понадобится экспресс для установки в этом случае.express имеет удивительные способы справиться со всем этим

0 голосов
/ 18 декабря 2018

Когда вы создаете свое приложение с помощью CLI ng build --prod, вы получаете папку dist: эта папка содержит всего вашего приложения , объединенного в разные файлы (не стесняйтесь смотреть на них).

Чтобы иметь возможность создать файл .ZIP с этим, вам понадобятся две вещи:

  • эта dist папка
  • http-сервер

У вас есть первый, но не второй.

Все, что вам нужно, - это очень простой сервер.Например, http-сервер в NPM может это сделать.Установив его как dev-зависимость, вы можете создать команду в вашем package.json файле

"deploy-locally": "http-server ./dist"

и теперь запустить ее с

npm run deploy-locally

Или даже лучше,

"start": "http-server ./dist"

И запустить с

npm start

Если вы не хотите использовать пакет NPM (или вынуждены использовать NodeJS), просто создайте базовый http-сервер в файле JS и запустите его с помощьюваша командная строка (извините, не могу помочь в этом, не в nodeJS прямо сейчас).

...