缩小编译时的角度偏差问题 [英] Angular depandency problems at minify compiling

查看:137
本文介绍了缩小编译时的角度偏差问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用了很多不同js文件的应用程序。当我用 gulp 正常编译应用程序时,一切正常,但是当我编译一个文件中的所有内容以缩小它时,出现错误( Uncaught Error :[$ injector:modulerr] )。

  app-55bb2aca73.js:4未捕获错误: [$ injector:modulerr] http://errors.angularjs.org/1.5.8/$injector/modulerr?p0=app&p1=Error%3A%20%...http%3A%2F%2Flocalhost%3A8080%2Fbuild% 2Fjs%2Fapp-55bb2aca73.js%3A4%3A30075)
at app-55bb2aca73.js:4
...

这是我的 gulpfile.js (使用Laravels elexir插件):

<$ (

/ * libs * /
'../../../node_modules/jquery/dist/jquery。 slim.min.js',
'../../../node_modules/bootstrap/dist/js/bootstrap.min.js',
'../../../ node_modules / angular / angular.min.js',
'../../../node_modules/angular-cookies/angular-cookies.min.js',
'../ .. /../node_modules/pickadate /lib/compressed/picker.js',
'../../../node_modules/pickadate/lib/compressed/picker.date.js',
'../../ ../node_modules/pickadate/lib/compressed/picker.time.js',

'app.js',
'config / *。js',
'angular /controller/*.js'

],'public / js / app.js');

这里是app.js:

  var app = angular.module(app,['ngCookies'],function($ interpolateProvider){
$ interpolateProvider.startSymbol('<%');
$ interpolateProvider.endSymbol('%>');
});

例如,这里是控制器的开始:

($ scope,$ window,$ http,$ cookies){

有人知道为什么这不能在一个文件中工作吗?

解决方案

<

 应用程序当您缩小时,控制器方法名称会被删除。 .controller('someCtrl',['$ scope','$ window','$ http','$ cookies'
函数($ scope,$ window,$ http,$ cookies){
// ...
}
]

更多信息: https://docs.angularjs.org/guide/di


I have an app which uses a lot of different js files. When I compile the app normaly with gulp everything works well, but when I compile everything in one file to minify it, I get an error (Uncaught Error: [$injector:modulerr]).

app-55bb2aca73.js:4 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.8/$injector/modulerr?p0=app&p1=Error%3A%20%…http%3A%2F%2Flocalhost%3A8080%2Fbuild%2Fjs%2Fapp-55bb2aca73.js%3A4%3A30075)
    at app-55bb2aca73.js:4
    ...

Here is my gulpfile.js (use Laravels elexir plugin):

mix.scripts([

        /*libs*/
        '../../../node_modules/jquery/dist/jquery.slim.min.js',
        '../../../node_modules/bootstrap/dist/js/bootstrap.min.js',
        '../../../node_modules/angular/angular.min.js',
        '../../../node_modules/angular-cookies/angular-cookies.min.js',
        '../../../node_modules/pickadate/lib/compressed/picker.js',
        '../../../node_modules/pickadate/lib/compressed/picker.date.js',
        '../../../node_modules/pickadate/lib/compressed/picker.time.js',

        'app.js',
        'config/*.js',
        'angular/controller/*.js'

    ], 'public/js/app.js');

Here the app.js:

var app = angular.module("app", ['ngCookies'], function ($interpolateProvider) {
    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');
});

For example here the begin of a controller:

app.controller('someCtrl', function ($scope, $window, $http, $cookies) {

Someone got any idea why this is not working in one file?

解决方案

When you minify, the controller method names get stripped out. Need to include in this way to have a reference:

app.controller('someCtrl', ['$scope', '$window', '$http', '$cookies'
    function ($scope, $window, $http, $cookies) {
        // ...
    }
]

More here: https://docs.angularjs.org/guide/di

这篇关于缩小编译时的角度偏差问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆