Ich habe die folgende Projektstruktur (irrelevante Dateien der Kürze halber weggelassen):Wie kann ich vermeiden, dass ExpressJS app.get() für jede meiner HTML-Dateien hinzugefügt wird?
- app
- authentication
- authentication.controller.js
- authentication.routes.js
- authentication.scss
- registration.html
- user.model.js
- app.js
- app.scss
- server
- server.controller.js
- server.js
- server.routes.js
- views
- index.html
Das Problem ist, dass, wenn ich eine HTML-Datei als templateUrl für AngularJS Routing verwenden, habe ich eine ‚GET/Pfad kann nicht/bekommen /someFile.html Fehler.
(function() {
angular
.module('appName', [
'ngMessages',
'ngResource',
'ui.router'
])
.config(function($stateProvider) {
$stateProvider
.state('registration', {
url: '/registration',
templateUrl: '/app/authentication/registration.html',
controller: 'AuthenticationController'
});
});
})();
Heißt das, ich habe folgendes Stück Code in meiner server.js Datei für jede HTML-Datei hinzufügen ich verwenden?
app.get('/app/authentication/registration.html', function(request, response) {
response.sendFile(path.resolve('app/authentication/registration.html'));
});
Das scheint wie ein großer Schmerz. Ich muss das jetzt auch für jede CSS- und JS-Datei, die ich habe, tun. Ich könnte gulp verwenden, um diese zu verketten, also müsste ich nur eine app.get für eine CSS- und eine js-Datei haben, aber das kann ich nicht für HTML-Dateien tun.
Gibt es einen besseren Weg, damit umzugehen? Es macht wenig Sinn, für jede HTML-Datei eine Winkelroute UND eine Schnellroute zu haben.