gpt4 book ai didi

javascript - ng-annotate 控件依赖名称

转载 作者:行者123 更新时间:2023-12-03 11:47:00 25 4
gpt4 key购买 nike

很抱歉,如果标题有误,因为我无法找出最好的标题。如果您愿意,可以更改它

常量文件

/* global lodash:false */
(function () {
'use strict';

angular
.module('blocks.router')
.constant('lodash', _);
})();

routerHelper.js 文件

 /* @ngInject */

function routeHelper($location, $rootScope, $state, _, logger, routeHelperConfig)

routeHelper.$inject = ['$location', '$rootScope', '$state', '_', 'logger', 'routeHelperConfig'];

问题

手动注入(inject)依赖项效果很好。

routeHelper.$inject = ['$location', '$rootScope', '$state', 'lodash', 'logger', 'routeHelperConfig'];

但是当我运行 ng-annotate cmdline (ng-annotate --single_quotes --add RouteHelper.js -o RouteHelper.js) 时,它会创建以下内容

routeHelper.$inject = ['$location', '$rootScope', '$state', '_', 'logger', 'routeHelperConfig'];

您可以看到 ng-annoate 吐出“_”而不是“lodash”的区别。

问题

如何控制 ng-annoate 不将“lodash”替换为“_”

最佳答案

ng-annotate 试图尽可能聪明,但它无法读懂你的想法! :-) 如果您的参数名称与注入(inject)的服务/常量/其他名称不同,那么您只需指定 $inject 数组即可运行程序。如果不这样做,程序将不会运行(无论是否缩小)。

所以如果您必须这样做,那么只需手动添加 $inject 数组即可。只要您使用 --add 而不是 --add --remove 运行它,ng-annotate 就会保持原样。

关于javascript - ng-annotate 控件依赖名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26010403/

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