缩小编译时的角度偏差问题 [英] Angular depandency problems at minify compiling
问题描述
我有一个使用了很多不同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屋!