2014-02-25 73 views

回答

9

你需要的是啓用html5mode。它的文檔和注意事項可以在找到。

下面是Brian Ford採取了一個例子:

angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives']). 
    config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
    // configure $routeProvider, then... 
    $locationProvider.html5Mode(true); 
    } 
]); 

角的UI框架已經example configuration佈線這份長達express.js:

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

app.use('/js', express.static(__dirname + '/js')); 
app.use('/dist', express.static(__dirname + '/../dist')); 
app.use('/css', express.static(__dirname + '/css')); 
app.use('/partials', express.static(__dirname + '/partials')); 

app.all('/*', function(req, res, next) { 
    // Just send the index.html for other files to support HTML5Mode 
    res.sendfile('index.html', { root: __dirname }); 
}); 

app.listen(3006); //the port you want to use 

在布萊恩的文章,你不必手動映射靜態資產文件夾,因爲他的示例傳遞單個index.html,映射部分到,然後與/api/*

0

如果使用Yoeman,或咕嚕建立你的服務器的NodeJS上。

您可以簡單的添加新的文件server.js到根文件夾,如果你的應用程序文件夾內,你的根文件夾。

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

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

 
app.all('*', function(req, res, next) { 
 
    // Just send the index.html for other files to support HTML5Mode 
 
    res.sendFile('/app/index.html', { root: __dirname }); 
 
}); 
 
var port = 1337; 
 
app.listen(port); //the port you want to use 
 
console.log('Server running at localhost:' + port);

並確保您已啓用AngularJs內HTML5模式配置

angular.module('yourApp') 
 
    .config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
 

 
    $routeProvider 
 
     .when('/some', { 
 
     templateUrl: '../templates/some.html' 
 
     }) 
 

 
     .otherwise({redirectTo: '/'}); 
 

 
    //enabling HTML5 mode 
 
    $locationProvider.html5Mode(true); 
 
    } 
 
    ]);