Вот скриншот из двух ошибок, которые я получаю в локальной среде, когда я нажимаю на прямой URL в браузере - то же самое не происходит в размещенной версии. Для хостинга я использовал AWS S3 и на 404 и 403 ошибки я перенаправляю в файл index.html со статусом 200.
http://prntscr.com/ley8j5
Я пытался
1. ng-csp = "no-inline-style; no-unsafe-eval" в соответствии с рекомендациями angularjs для CSP
2. Извлек много ресурсов для исправления кода gs gulp и browser-sync в gulpfile.js.
3. Я также попытался использовать $ route.reload (), как предложено в угловых выпусках github 1213
Вот мой код для index.html и gulpfile.js
<!-- <!DOCTYPE html> -->
<html lang="en" ng-app="wealth-desk" ng-csp="no-inline-style;no-unsafe-eval" flow-init>
<base href="/">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<link href="assets/img/favicon.ico" rel="shortcut icon" type="image/x-icon">
<!-- css file loading -->
</head>
<body>
<ng-view autoscroll="true"></ng-view>
</body>
<!-- Latest compiled and minified JavaScript -->
<script type="text/javascript" src="assets/js/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
<script type="text/javascript" src="assets/js/slick.min.js"></script>
<!-- Angular Dependencies -->
<script type="text/javascript" src="assets/js/angular.min.js"></script>
<script type="text/javascript" src="assets/js/angular-route.min.js"></script>
<script type="text/javascript" src="assets/js/angular-resource.min.js"></script>
<script type="text/javascript" src="assets/js/angular-animate.min.js"></script>
<script type="text/javascript" src="assets/js/angular-aria.min.js"></script>
<script type="text/javascript" src="assets/js/angular-messages.min.js"></script>
<script type="text/javascript" src="assets/js/angular.slick.js"></script>
<!-- more js files of my application - related to angular loading -->
</html>
Gulpfile.js
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var browserSync = require('browser-sync').create();
var environments = require('gulp-environments');
var development = environments.development;
var production = environments.production;
/** load config file based on enviroment */
var configFile = production() ? "./src/env/prod.js" : "./src/env/dev.js";
gulp.task('lint', function () {
return gulp.src('./src/app/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
gulp.task('build', ['lint']);
gulp.task('browser-sync', ['build'], function () {
browserSync.init({
server: {
baseDir: "./src",
// The key is the url to match
// The value is which folder to serve (relative to your current working directory)
routes: {
"/bower_components": "bower_components",
"/node_modules": "node_modules"
}
},
browser: "chrome"
});
});
gulp.task('default', ['browser-sync'], function () {
gulp.watch("./src/**/*.*", ["build"]);
gulp.watch("./src/**/*.*", browserSync.reload);
})