Saya memiliki dua aplikasi Angular berbeda yang dibuat dengan angular-cli, keduanya sudah dimodifikasi untuk dijalankan di server node.js melalui Angular Universal mengikuti tutorial Angular, tetapi contohnya hanya dapat melayani satu aplikasi.

Contoh membuat mesin tampilan:

app.engine('html', (_, options, callback) => {
  renderModuleFactory(AppServerModuleNgFactory, {
    // Our index.html
    document: template,
    url: options.req.url,
    // DI so that we can get lazy-loading to work differently (since we need it to just instantly render it)
    extraProviders: [
      provideModuleMap(LAZY_MODULE_MAP)
    ]
  }).then(html => {
    callback(null, html);
  });
});

app.set('view engine', 'html');

Karena setiap aplikasi memiliki file index.html yang berbeda, saya perlu membuat dua mesin tampilan, tetapi bagaimana cara memberi tahu Express untuk menggunakan satu mesin di satu rute dan mesin lain di rute lain? Dengan kata lain, bagaimana cara memetakan app1 ke /app1 dan app2 ke /app2?

2
Douglas Henrique 10 November 2017, 01:57

1 menjawab

Jawaban Terbaik

Aplikasi Express dapat memasang beberapa sub-aplikasi ke titik akhir yang berbeda:

const app1 = express();
const app2 = express();
...
app.use('/app1', app1);
app.use('/app2', app2);
app.listen(3000);

Sub-aplikasi dapat memiliki setelannya sendiri dan tidak boleh listendiubah.

2
Estus Flask 9 November 2017, 23:51