Angular2 приложение с NodeJS не загружает все

Я экспериментирую с Angular2 и, с кратким руководством по началу работы на их официальной документации, я определенно вверх и работает. Однако, если я хочу сделать какие-либо API на сервере или разместить его на облаке, кажется, мне нужно будет использовать Node. Я думаю, что у меня все установлено правильно в server.jsфайле, но когда я запускаю его, кажется, что он не загружает все из SystemJS, и я получаю следующие ошибки:

Angular2 ошибки

Вот код узла:

var express = require("express");
var bodyParser = require("body-parser");

var app = express();

var System = require('systemjs');

// loads './app.js' from the current directory
System.import('app').then(function(m) {
  console.log(m);
});

// Config
app.set('port', (process.env.PORT || 3000));
app.use('/app', express.static(__dirname + '/app'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.listen(app.get('port'), function() {
    console.log('MEAN app listening on port ' + app.get('port'));
});

app.get('*', function(req, res) {
    res.sendFile(__dirname + '/index.html');
});

Я не уверен, что я упускаю, чтобы включить в сторону узла, который включается при запуске lite-serverизnpm start, который включен из руководства по быстрому запуску Angular2.

1 ответ

  1. Когда вы говорите express, где искать статические файлы, вы должны также указать, где будут находиться ваши JS-файлы.

    Например, в одном из моих проектов у меня это так

    app.use('/css', express.static(path.resolve(appPath, 'css')));
    app.use('/lib/css', express.static(path.resolve(appPath + '/lib', 'css')));
    app.use('/lib/js', express.static(path.resolve(appPath + '/lib', 'js')));
    app.use('/assets', express.static(path.resolve(appPath, 'assets')));
    app.use('/node_modules', express.static(path.resolve(appPath, 'node_modules')));
    app.use('/app', express.static(path.resolve(appPath, 'app')));
    

    Я считаю, что это может быть вашей проблемой или, надеюсь, поставить вас на правильный путь.