在我的 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 渲染部分?我已经尝试查看 get()、render 和 sendfile 的 Express api,但它们对我的情况并没有太大帮助。其他用户之前在这里问过类似的问题,但他们通常涉及 Express 路由到的另一个文件,我想知道我是否可以在不添加任何额外文件的情况下做到这一点,因为仅添加一个文件来包含 Express 已经是一个问题。
currentFile.html 本身不加载任何 CSS 或 Javascript。在我添加 Express 之前,它是一个在 index.html 中加载的部分,它加载了所有附加内容。
任何帮助表示赞赏。谢谢