Я пытаюсь внедрить службу в app.config, как показано в службе Inject в app.config. Однако минимизация нарушает приложение. Как преодолеть это?
Это не работает с минимизацией:
app.config(['$routeProvider',function ($routeProvider) {
$routeProvider
.when('/',
{
templateUrl: "partials/editor.html",
controller: "AppCtrl",
resolve: {
//Following method doesn't work with minification
data: function (dbService) {
return dbService.getData();
}
}
})
}]);
Чтобы защитить от минимизации, необходимо массировать аннотацию функции с помощью зависимостей службы.
Вместо передачи только функции передайте массив с именами зависимостей и функции.
app.config(['$routeProvider',function ($routeProvider) {
$routeProvider
.when('/',
{
templateUrl: "partials/editor.html",
controller: "AppCtrl",
resolve: {
//annotate this to prevent against minification
data: ['dbService', getData]
}
})
function getData (dbService) {
return dbService.getData();
}
}]);
Вам нужно ввести его, используя аннотацию встроенного массива, как указано в угловых документах.
Careful: If you plan to minify your code, your service names will get renamed and break your app.
Как указано в документах,
someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {
// ...
}]);
В твоем случае,
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/',
{
templateUrl: "partials/editor.html",
controller: "AppCtrl",
resolve: {
//Following method doesn't work with minification
data: ['dbService', function (dbService) {
return dbService.getData();
}]
}
})
}]);
Справа отсюда: Angularjs: Inject Service в app.config, чтобы защитить от минимизации
обратитесь к угловому впрыску. пытаться,
app.config(["$routeProvider", function ($routeProvider) {
$routeProvider
.when('/',
{
templateUrl: "partials/editor.html",
controller: "AppCtrl",
resolve: {
//Following method doesn't work with minification
data: function (dbService) {
return dbService.getData();
}
}
})
}]);