nodejs бэкэнд на развернутом angular сайте - PullRequest
0 голосов
/ 27 февраля 2020

Хорошо, я новичок в стеке MEAN.

Я подключил свое приложение к атласному кластеру mongoDB, развернул приложение и внес в белый список все IP-адреса, но mon goose .connect по-прежнему только подключается из приложения. js, если я запускаю nodemon в root из терминала, а затем появляется на странице после того, как я обновлю sh, поэтому он не подключается к серверу автоматически с развернутого сайта.

Это потому, что функция mon goose .connect - это приложение. js в root, а не в папке клиента, что они используют в сборке ng?

В приложении. js:

mongoose.connect('mongodb+srv://USERNAME:PASSWORD@cluster.mongodb.net/test?retryWrites=true&w=majority', { 
//
  dbName: 'DB NAME',
  useNewUrlParser: true, 
  promiseLibrary: require('bluebird'), 
  useNewUrlParser: true, 
  useUnifiedTopology: true,
  useCreateIndex: true

}).then(() =>  console.log('connection successful'))
  .catch((err) => console.error(err));

У меня есть heroku, но я не могу получить его для размещения nodejs бэкэнда, он просто собирается из папки клиента, то же самое как gitpages.

Как это исправить, чтобы мне не нужно было запускать nodemon в терминале из папки root, чтобы подключить сайт к базе данных?

Мой файл структура:

|--bin
|     |-- www
|-- client
|     |-- e2e
|     |-- src
|     |     |-- app
|     |     |-- assets
|     |     |     |-- scss
|     |     |     |-- img
|     |     |     |-- js
|     |     |     |-- vendor
|     |     |-- environments
|     |     | index.html
|     |     | main.ts
|     |     | polyfills.ts
|     |     | test.ts
|     |     | styles.scss
|     | package.json
|     | package-lock.json
|     | tslint.json
|     | tsconfig.jeson.html
|     | angular.json
|-- config
|     |-- passport.js
|     |-- setting.js
|-- models
|-- public
|-- routes
| app.js
| gulpfile.js
| package.json
| package-lock.json
...