为什么部署(串联、缩小)AngularJS+RequireJS应用程序不工作
Why deployed (concatenated, minified) AngularJS + RequireJS application is not working?
这是我在github上的项目(它真的很小,别担心,只是示例)。我提供它,所以你可以打开任何文件,我说的)。
当我在没有js/css连接和缩小的情况下打开我的应用程序时,我没有问题。路由和控制器按预期工作。
若我使用部署,则应用程序不工作。没有404错误,没有java脚本错误。我看到了我对小提琴手的期望。一切看起来都是正确的:正在加载styles.min.css和bootstrap.js.
为了部署我的应用程序,我使用Grunt。这是我的Gruntfile.js。这是requirejs任务的代码:
requirejs: {
js: {
options: {
uglify2: {
mangle: false
},
baseUrl: "public/js",
mainConfigFile: "public/js/bootstrap.js",
name: 'bootstrap',
out: "build/js/bootstrap.js",
optimize: 'uglify2'
}
}
},
为什么我会遇到这个问题?
马克斯:到底是什么问题,我做错了什么?
Min:我怎么至少可以调试我的缩小代码?所有调试器和console.log
都将从代码中删除。如果我有调试器,我至少可以观察代码到底在哪里失败。。。
UPD-
注意,如何包含视图。。。这种方法会引起问题吗?
此外,我在bootstrap.js(输出文件)中找不到myCtrl。为什么?看起来它不包括在那里。。。
感谢
因为您的依赖项没有字符串对应项:
module.controller('main.myCtrl3', function ($scope) {
$scope.debug = function () {
console.log('debug', $scope.$id);
}
})
你需要到处换
module.controller('main.myCtrl3',['$scope', function ($scope) {
$scope.debug = function () {
console.log('debug', $scope.$id);
}
}])
可能混淆器将$scope
更改为类似s
的smth,angular不知道注入的依赖项
您没有处理缩小,例如在/public/js/main/controllers/myCtrl.js 中
module.controller('main.myCtrl', function ($scope) {});
应该是
module.controller('main.myCtrl', ['$scope', function ($scope) {}]);
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- AngularJS:我可以跳过函数参数回调吗
- AngularJS UI路由器不能像ng路由器那样工作
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 如何包含特定于每个视图angularjs的javascript文件
- AngularJS:ng之后,重复$scope值未按预期更新
- AngularJS-在JSON选择器中使用变量名
- $window.ga在AngularJS事件中未定义
- AngularJS-使用'true'属性
- 打开一个模态并将其链接到AngularJS中的指令
- Angularjs代码未在匿名函数中运行
- angularjs+rails应用程序中未显示模板
- 我的AngularJS表达式没有'不起作用
- AngularJS JSON not arriving php
- 使用AngularJS中的筛选器更新给定的表
- Angularjs工厂注入错误
- AngularJS设计指南
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 使用angularjs验证文本框中的电子邮件
- 使用angularjs向浏览器发送servlet响应(下载功能)