gpt4 book ai didi

javascript - Angularjs:在 app.config 中注入(inject)服务,以防止缩小

转载 作者:行者123 更新时间:2023-11-29 18:02:28 26 4
gpt4 key购买 nike

我正在尝试在 app.config 中注入(inject)服务,如在 app.config 中注入(inject)服务中所示。但是,缩小会破坏应用程序。如何克服这个问题?

这不适用于缩小:

app.config(['$routeProvider',function ($routeProvider) {
$routeProvider
.when('/',
{
templateUrl: "partials/editor.html",
controller: "AppCtrl",
resolve: {
//Following method doesn't work with minification
data: getData
}
})
function getData (dbService) {
return dbService.getData();
}
}]);

请注意以下代码不起作用:(Typescript 不允许编译)

['dbService',function getData(dbService){
return dbService.getData();
}]

最佳答案

为了防止缩小,您需要像对配置函数所做的那样对数据函数进行注释(参见依赖项注释 here)。

有两种方法可以做到这一点。

1.

不是传递一个函数,而是传递一个包含依赖项和函数名称的数组

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();
}
}]);

2.

将依赖项添加到函数的 $inject 属性中

app.config(['$routeProvider',function ($routeProvider) {
$routeProvider
.when('/',
{
templateUrl: "partials/editor.html",
controller: "AppCtrl",
resolve: {
//function annotated below
data: getData
}
})

//annotate this function with $inject so proper dependencies injected after minification
getData.$inject = ['dbService'];
function getData (dbService) {
return dbService.getData();
}
}]);

关于javascript - Angularjs:在 app.config 中注入(inject)服务,以防止缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33922131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com