Разверните папку распространения приложения MEAN в Azure Web App - PullRequest
0 голосов
/ 12 марта 2019

При развертывании приложения MEAN неправильно использовать папку dist?

Шаги, которые я предпринял до сих пор:

  1. Успешно создано простое работающее MEAN-приложение с именем ngApp с использованием серии учебников от Codevolution . Angular автоматически создал папку dist/ngApp.
  2. Установленное расширение службы приложений Azure в VSCode.
  3. Щелкните правой кнопкой мыши, перейдите к dist/ngApp и затем разверните файлы напрямую, без web.config или чего-либо еще.
  4. ПРОБЛЕМА 1 : Навигация на https://asdjkna.azurewebsites.net/ в порядке (ссылка перенаправлена ​​на https://asdjkna.azurewebsites.net/home, которую я намеревался использовать с помощью app-routing.module.ts). Однако при обновлении , 404 возникла ошибка.

Части кода от app-routing.module.ts:

const routes: Routes = [
  {path: '', redirectTo:'/home', pathMatch:'full'},
  {path: 'home', component: HomeComponent},
  {path: 'videos', component: VideoCenterComponent}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
  1. ПРОБЛЕМА 2 : Снова перейдите к https://asdjkna.azurewebsites.net/. Нажмите на вкладку плейлиста на панели навигации. Консоль Chrome F12 показывает, что https://asdjkna.azurewebsites.net/api/videos также не найден. Это означает, что не только моя угловая маршрутизация имеет проблемы, так и моя экспресс-маршрутизация.

Части кода от /server.js:

const api = require('./server/routes/api');
app.use('/api',api);

const port = process.env.PORT || 3000;

const app = express();
app.use(express.static(path.join(__dirname, 'dist/ngApp')));
app.get('*', (req, res) => {
    res.sendFile(path.join(__dirname, 'dist/ngApp/index.html'));
});

Части кода от ./server/routes/api:

const Video = require('../models/video');

// GET request
router.get('/videos', function(req, res){
    console.log('GET request for all videos');
    Video.find({})
    .exec(function(err,videos)
    {
        if(err){
            console.log("Error retrieving videos.");
        }else {
            res.json(videos);
        }
    });
});

Может быть, неправильно развертывать папку dist/ngApp напрямую? Или, может быть, неправильная маршрутизация при развертывании в Web App? Тестирование на localhost не имеет ни одной из этих проблем.

Я сделал полные заметки из серии уроков, и можно получить здесь в случае необходимости.

...