2016-11-29 2 views
3

Я написал 2 ng-app в одном проекте, один - user, а другой admin. Чтобы удалить # из URL я использовал код ниже как в app.config функцииУгловой маршрут для вспомогательной папки дает ошибку

$locationProvider.html5Mode(true); 

и в приложении/index.html

<base href="/"> 

и приложение/администратор/index.html

<base href="/admin/"> 

пользователь app.js

app.config(['$routeProvider','$locationProvider', 
    function($routeProvider, $locationProvider) { 
     $routeProvider. 
     when('/properties', { 
      templateUrl: 'views/modules/properties.html' 
     }) 
     .when('/pages', { 
      templateUrl: 'views/pages/pages.html' 
     }) 
     .when('pages/editpages', { 
      templateUrl: 'views/pages/editPages.html', 
      controller: 'editPagesController', 
     }); 

     $locationProvider.html5Mode(true); 
    } 
]); 

server.js

app.use('/', express.static('app', { redirect: false })); 

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

Я получаю следующее сообщение об ошибке, если есть дополнительные пары в маршруте

Uncaught SyntaxError: Unexpected token <

enter image description here

выше ошибками я получаю, когда мой urls:

http://localhost:8080/properties/ 
http://localhost:8080/properties/something 
http://localhost:8080/pages/ 
http://localhost:8080/pages/editpages 

Это прекрасно работает, если URL используется без последнего / т.е.

http://localhost:8080/properties 
http://localhost:8080/pages 

Я refered на эти вопросы тоже, но не может решить эту проблему

Node/Angular app Uncaught SyntaxError: Unexpected token <

How to use multiple index pages in angular

ответ

1

Проблема заключается в использовании промежуточного программного обеспечения, например,

app.use(express.static('./build/')); 
// Any invalid calls for templateUrls are under app/* and should return 404 
app.use('/app/*', function(req, res, next) { 
    four0four.send404(req, res); 
}); 
// Any deep link calls should return index.html 
app.use('/*', express.static('./build/index.html')); 
+2

приведенный выше код Не помогает – ekta

2

Решение найдено

Размещение <base href="/"> было как раз перед </head>, перед которым были все скрипты и ссылки теги. После добавления <base href="/"> после тега заголовка проблема была решена

Смежные вопросы