2015-06-22 2 views
0

Я хочу запустить угловой в окне Linux, не требуя узла или выражения. Я создал веб-сайт, но не знаю, что такое технология, ха-ха. Я предполагаю, что у меня есть простой веб-сервер с использованием экспресс-сервера, см. Код ниже.Угловой/Экспресс-хостинг

var express = require ('express'); 
var app  = express(); 
var path = require('path'); 

app.use(express.static(__dirname + '/')); 


app.listen(8080); 
console.log('Magic happens on port 8080'); 

Я начинаю это с помощью команды узла узла. Остальная часть кода является угловой-ui.

Нужно ли использовать экспресс (и размещать его на сервере, совместимом с узлом), или я могу просто запустить эту штуку в ящике linux без выражения? Если это так, мне нужно заменить файл server.js (выше) на что-то еще? или ... В настоящее время он не работает с ящиком Linux, но работает локально просто отлично.

** Редактировать: Я проверил угловое приложение «привет мир» на моем общем сервере, он работал нормально. При запуске полного углового приложения на общем сервере, я получаю следующее сообщение об ошибке:

Uncaught Error: [$injector:modulerr] Failed to instantiate module routerApp due to: 
Error: [$injector:nomod] Module 'routerApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. 

** Редактирование: В ответ на вопрос @RobertMoskal «s ниже, угловой hello world тест, который работает на общем сервере в основном это:

<input ng-model="name" type="text" placeholder="Type a name here"> 
<h1>Hello {{ name }}</h1> 

и реальное приложение в основном что-то вроде этого, используя UI-вид и нг-повтора в HTML:

var routerApp = angular.module('routerApp', ['ui.router']); 

routerApp.config(function($stateProvider, $urlRouterProvider, $locationProvider) { 

    $urlRouterProvider.otherwise('/home'); 
    $locationProvider.html5Mode(false).hashPrefix(""); 
    $stateProvider 


     // HOME STATES AND NESTED VIEWS ======================================== 
     .state('home', { 
      url: '/home', 
      templateUrl: 'partial-home.html', 
     // onEnter: scrollContent 
     }) 

     // ANIMATION AND NESTED VIEWS ======================================== 
     .state('animation', { 
      url: '/animation', 
      templateUrl: 'partial-anim.html', 

     controller: function($scope) { 
       $scope.animations = [ 
       { title:'One', url:'http://yahoo.com', bg:'#f8f8f8', width:'160', height:'600', imageAsset:'assets/imgs/web/MyWebsites_1.jpg', paragraph:'some text of some description'}, 
       { title:'Two', url:'http://google.com', bg:'#f8f8f8', width:'160', height:'600', imageAsset:'assets/imgs/web/MyWebsites_2.jpg', paragraph:'rabbit rabbit rabbit'}, 
       { title:'Three', url:'http://bambam.com', bg:'#f8f8f8', width:'160', height:'600', imageAsset:'assets/imgs/web/MyWebsites_3.jpg', paragraph:'blahiblahblah'}]; 
      } 
     }) 


      // GAME VIEWS ======================================== 
     .state('game', { 
      url: '/game', 
      templateUrl: 'partial-game.html' 
     }) 


     // CONTACT VIEWS ======================================== 
     .state('contact', { 
      url: '/contact', 
      templateUrl: 'partial-contact.html' 
     }) 


}); 

ответ

3

Вам нужно некоторые веб-сервера на сервер вы r угловое приложение как «статический» актив. Это может быть apache или nginx или любое количество веб-серверов. Большинство дистрибутивов Linux упрощают их установку.

Вы также можете пойти супер легкие с помощью встроенного веб-сервера питона:

cd /var/www/ 
$ python -m SimpleHTTPServer 

Вы даже можете разместить заявку бесплатно на GitHub.

Во всех случаях вам просто нужно убедиться, что веб-сервер обслуживает ваши активы по правильному пути. В приведенном выше примере примера python у вас может быть точка входа в приложение /var/www/index.html, и она будет обслуживаться как http://localhost:8000/index.html.

+0

Прохладный, как разместить его как статический актив? Прямо сейчас он не работает в Linux-оболочке в общедоступной среде хостинга :( –

+0

Итак, я должен инициализировать эту вещь python на сервере? Я нахожусь в общей коробке, и я не думаю, что мой хост позволяет :(Это apache, как я могу заставить это работать? –

+0

hmmm ... нормально, что, если приложение должно жить по другому пути? Например, '/ folder1/folder2 /'? –