我正在构建一个使用Node和Angular路由的应用程序。我想处理Angular中的所有路由。
文件夹结构:
公共
SASS
server.js
var app = express();
var routes = require('./routes/index');
app.use(sassMiddleware({
// Options
src: __dirname + '/sass',
dest: __dirname + '/public',
debug: true,
outputStyle: 'compressed'
}));
app.use('/bower_components', express.static(__dirname + '/bower_components'));
app.use(express.static(__dirname + '/public'));
app.use('/css', express.static(__dirname + '/css'));
app.use('/js', express.static(__dirname + '/js'));
app.use('/images', express.static(__dirname + '/images'));
app.use'/',function(req, res, next){
res.sendFile(root_dir+'/public/index.html');
}
app.js(angular):我正在使用Angular ui-router进行路由
app.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
.state('home', {
url: "/",
templateUrl: 'partials/home.html'
})
.state('search', {
url: "/search/:token",
templateUrl: 'partials/_search.html'
});
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$urlRouterProvider.otherwise('/404.html');
});
公共/ index.html中
<html>
<head>
<loads all css and javascript files>
</head>
<body>
<div ui-view>
</div>
</body>
</html>
当我执行“http://localhost:3000”时,我可以从partials加载home.html,但是当我执行“http://localhost:3000/search/abcd”时,它会加载带有菜单栏的空白html但无法加载css / js / images和search.html partial。
On the node console, I see the following 404 errors:
example:
GET /search/js/index/mainPageSearchController.js 404 0.285 ms - 62
GET /search/js/index/exploreCitiesController.js 404 0.483 ms - 61
GET /search/js/strechy-main.js 404 0.355 ms - 44
我的文件是从搜索目录加载的,这是错误的。
根据上述代码,当“http://localhost:3000/search/abcd”被点击时,请建议我从partials加载search.html时应该更正哪些内容。
提前致谢