在我的Angular应用中,我试图在用户点击链接时渲染加载到索引页面的部分内容。之前使用以下代码工作正常:
//app.js in Angular
angular.module('myApp', [
'ngSanitize',
'ngRoute',
...
]).
config(['$routeProvider', '$locationProvider', '$sceDelegateProvider', function($routeProvider, $locationProvider, $sceDelegateProvider) {
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'MainController'});
$routeProvider.when('/File/:fileID', {templateUrl: 'partials/currentFile.html', controller: 'FileController', controllerAs: 'file'});
$routeProvider.otherwise({redirectTo: '/view1'});
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'https://www.url.com/**']);
$locationProvider.html5Mode(true);
}]);
但是当我添加Express时,它不起作用:
var express = require("express");
var logfmt = require("logfmt");
var app = express();
app.use(logfmt.requestLogger());
app.use(express.static(__dirname + '/app'));
app.use('/bower_components', express.static(__dirname + '/bower_components'));
app.get('*', function(req, res) {
res.sendfile('./app/index.html');
});
如果我只想显示索引页面,这可以正常工作。当我添加以下代码时,它显示纯HTML(部分),但没有CSS或Javascript。
app.get('/partials/currentFile.html', function(req, res) {
res.render('./app/partials/currentFile.html');
});
如何以与Angular一起使用的方式使用Express渲染部分? 我曾尝试使用Express api查看get(),render和sendfile,但它们对我的情况并没有帮助。其他用户之前在这里问过类似的问题,但是他们通常会涉及另一个Express路由到的文件,我想知道我是否可以在不添加任何额外文件的情况下执行此操作,因为它已经是添加内容的问题包含Express的文件。
currentFile.html不会加载任何CSS或Javascript本身。在我添加Express之前,它是在index.html中加载的部分内容,它加载了所有附加功能。
感谢任何帮助。谢谢
答案 0 :(得分:0)
我没有直接解决问题,但我解决了这个问题。问题是我想将部分渲染到索引页面上。该应用程序的首要目标是单页面应用程序,因此最终,它只是一个重要的页面。
让不同的部分渲染进行测试会很不错,但是似乎没有人知道我要问的是什么,或者我使问题复杂化。无论哪种方式,我通过摆脱所有其他部分并将所有URL请求重定向到单页应用程序找到了解决方法。
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'MainVideoController'});
$routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: 'MyCtrl2'});
$routeProvider.when('/file', {templateUrl: 'partials/currentFile.html', controller: 'FileController', controllerAs: 'file'});
$routeProvider.otherwise({redirectTo: '/file'});
...
请注意,尝试访问domain.com/view1或/ view2时,partials view1和view2不起作用。