Я использую Angular, и, как вы знаете, есть Angular «1» (старая версия) и Angular 2 (самая новая), которые включают машинописный текст.
Это моя проблема, с которой я столкнулся сегодня: я делаю приложение с использованием angular, поэтому я создал папку проекта (project-frontend) и установил локально grunt, с помощью Bower я загрузил пакеты для angular.
Я создал файл gruntfile.js и настроил его для следующих задач:
"grunt-contrib-concat": "^1.0.1"
"grunt-ng-annotate": "^2.0.2"
"grunt-contrib-uglify": "^2.0.2"
И со многими другими, вроде cssmin, htmlmin и т.д. и т.п., но проблемы возникают именно с этими задачами, точнее с uglify.
Проблема в том, что если я сопоставлю все файлы угловых js (angular.js, angular-rout.js, angular-resource.js...) и все ухудшу, то, когда я разверну свою войну в Tomcat, я получаю это ошибка:
TypeError: b не определен
Итак, я думаю, что причиной проблемы является uglify, потому что я пытался запустить те же задачи для другого старого проекта, в котором был uglify 1.0.1, и все работает, я также контролировал это, если я просто запускаю concat и ngAnnotate, окончательные файлы angular (один из этого проекта и один из последнего) практически идентичны.
Я не знаю, должно ли это что-то делать с машинописным текстом (увидев ошибку, о которой я подумал), потому что я предположил, что машинописный текст был вставлен в angular с версии 2.0.0, и в настоящее время я работаю с версией 1.5.8. (я тоже пробовал 1.2.9).
Я контролировал свой код приложения с помощью jshint (это первая задача, которую я запускаю), и в терминале не было никаких сообщений об ошибках.
Я также попытался перенастроить задачи, взяв в качестве примера файл старого проекта Gruntfile.js.
Я уже не знаю что делать, застрял с этой проблемой и не знаю как дальше двигаться, какие советы?
ngAnnotate
может пропустить такие вещи, как функции вui-bootstrap
/ui-router
, которые вам, возможно, потребуется специально пометить комментарием@ngInject
. Можете ли вы найти функцию с неопределеннымb
? - person Phil   schedule 29.08.2016