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

#node.js #angular

#node.js #angular

Вопрос:

Я экспериментирую с 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 quick start guide.

Ответ №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')));
  

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

Комментарии:

1. Спасибо! Я добавил styles и node_modules , как указано выше, но, похоже, все еще получаю ошибки. Нужно ли также инициализировать SystemJS с помощью express?