gpt4 book ai didi

javascript - 使用 grunt 进行 Angular 缩小会导致 'Failed to instantiate module' 错误

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:06 26 4
gpt4 key购买 nike

我知道设置 Controller 、服务、模型等来准备缩小。我有大约 20 个 Controller 、模型和服务作为单独的文件,我想将它们全部缩小并连接到一个 JS 文件中以用于生产。

为了了解我是如何设置这些文件的,这里有一个例子:

VforumJS.controller('MainController', ['$scope', '$location', '$sce', 'MainModel', 'LogModel', 'MainDebug', 'timecode', 'Idle', function($scope, $location, $sce, MainModel, LogModel, MainDebug, timecode, Idle)
{
...
}]);

缩小后出现错误

Failed to instantiate module VforumJS due to:
Error: [$injector:unpr] http://errors.angularjs.org/1.4.1/$injector/unpr?p0=a

如果我点击错误链接,它会显示 Unknown provider: a

这里是我的模块创建的地方

var VforumJsConfig = function($routeProvider, $locationProvider, localStorageServiceProvider)
{
localStorageServiceProvider.setPrefix('vforumdesktop');
$locationProvider.html5Mode(true);

$routeProvider
.when('/', {
...
})
.otherwise({
...
});
};

var VforumJS = angular.module('VforumJS', ['ngRoute','LocalStorageModule', 'ngTouch', 'ui-rangeSlider','base64','ngIdle'])
.config(['$routeProvider', '$locationProvider', 'localStorageServiceProvider', VforumJsConfig])
.constant('LogTypes', {
LOGIN: 1,
IDLE_LOGOUT: 2,
MANUAL_LOGOUT: 3,
VFORUM_OPEN: 4,
VFORUM_CLOSE: 5
})
.constant('SendLogs', false)
.constant('MainDebug', true);

我可能没有在上面创建模块的代码中做适当的缩小准备吗?

这是我的 Gruntfile.js

'use strict';

module.exports = function(grunt)
{
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
all_src: {
options: {
sourceMap: true,
sourceMapName: 'source.map'
},
src: 'resources/js/**/*.js',
dest: 'composite.all.min.js'
}
}
});

grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.registerTask('default', ['uglify']);
};

最佳答案

您的 .config 绝对是问题之一。仔细检查并确保在代码中任何地方注入(inject)服务/提供者,您正在使用内联缩小。

这是注入(inject)一个提供者(本例中只是 $logProvider)的配置在缩小后的样子:

.config(function(a){
console.log("Never gets here, but a is", a);
})

真正应该是这样的:

.config(['$logProvider', function(a){
console.log("a is", a);
}])

这是一个代码笔:http://codepen.io/troylelandshields/pen/xGjKGV

关于javascript - 使用 grunt 进行 Angular 缩小会导致 'Failed to instantiate module' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31299304/

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