如何設置節點/角有index.html/app
運行在example.com
而非example.com/app/index.html#/home
的NodeJS和Angularjs,清潔網址
我試圖把index.html
在節點服務器的根,但仍留下了網址爲example.com/index.html#/home
如何設置節點/角有index.html/app
運行在example.com
而非example.com/app/index.html#/home
的NodeJS和Angularjs,清潔網址
我試圖把index.html
在節點服務器的根,但仍留下了網址爲example.com/index.html#/home
你需要的是啓用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/*
如果使用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);
}
]);