【发布时间】:2017-07-16 15:40:12
【问题描述】:
我遇到了一个奇怪的问题,即在 AWS 中部署应用程序时未定义 angular,但在本地,我的 angular 或 javascript 代码没有问题。
更新:
我的静态文件(JS、CSS、图像等)都存在于 S3 静态文件存储桶中。检索文件没有问题,但似乎已经部署了几个月的工作提交突然在加载静态文件时开始引发 JS 问题。
这是我的基本模板中的 JS 文件:
{% compress js %}
<script src="{{STATIC_URL}}shared/stacktrace-js/dist/stacktrace.js"></script>
<script src="{{STATIC_URL}}shared/jquery/2.1.1/jquery.min.js"></script>
<script src="{{STATIC_URL}}shared/jquery-growl/1.2.3/jquery.growl.js"></script>
<script src="{{STATIC_URL}}shared/jquery-ui-1.12.1.custom/jquery-ui.min.js"></script>
<script src="{{STATIC_URL}}ckeditor/ckeditor-init.js"></script>
<script src="{{STATIC_URL}}shared/ckeditor-custom/ckeditor-custom.js"></script>
<script src="{{STATIC_URL}}shared/bootstrap/3.3.5/dist/js/bootstrap.min.js"></script>
<script src="{{STATIC_URL}}shared/utils.js"></script>
<script src="{{STATIC_URL}}shared/angular/1.3.11/angular.min.js"></script>
<script src="{{STATIC_URL}}shared/angular/1.3.11/angular-route.min.js"></script>
<script src="{{STATIC_URL}}shared/angular/1.3.11/angular-cookies.min.js"></script>
<script src="{{STATIC_URL}}shared/angular-bootstrap/0.11.0/ui-bootstrap-tpls-0.11.0.min.js"></script>
<script src="{{STATIC_URL}}shared/bootstrap-multiselect/bootstrap-multiselect.js"></script>
<script src="{{STATIC_URL}}shared/introjs/intro.js"></script>
<script type="text/django" src="{{STATIC_URL}}shared/ch-error-logging.js"></script>
<script type="text/django" src="{{STATIC_URL}}shared/ch-config.js"></script>
<script src="{{STATIC_URL}}shared/angulartics/dist/angulartics.min.js"></script>
<script src="{{STATIC_URL}}shared/angulartics-segment/dist/angulartics-segment.min.js"></script>
<script src="{{STATIC_URL}}shared/chart.js/dist/Chart.min.js"></script>
<script src="{{STATIC_URL}}shared/select2/dist/js/select2.min.js"></script>
<script src="{{STATIC_URL}}shared/angular-chart.js/dist/angular-chart.js"></script>
<script src="{{STATIC_URL}}shared/jquery-validation/dist/jquery.validate.min.js"></script>
<script type="text/django" src="{{STATIC_URL}}shared/ch-track.js"></script>
<script type="text/django" src="{{STATIC_URL}}shared/ch-file.js"></script>
<script src="{{STATIC_URL}}shared/offline.js"></script>
{% endcompress %}
如果我在压缩块内部或外部将 jquery.min.js 更改为 jquery.js,则其他 JS 文件开始引发语法问题。通常 Chrome 控制台中的错误会显示
意外的令牌(
在 Firefox 中,错误提示
语法错误:函数语句需要名称
【问题讨论】:
-
您好,如果您可以更新完整的错误描述,识别错误会更容易一些。
Unexpected token (有点含糊。 -
这是我在控制台中唯一得到的东西。我在那里还有其他错误说“角度未定义”,我猜这是因为语法错误阻止了 js 文件的加载。
-
这听起来可能已经在这里修复了:github.com/django-compressor/django-compressor/pull/813,您是否尝试过使用 django-compressor 的开发分支?
-
谢谢@karyon 您能否说明您认为github.com/django-compressor/django-compressor/pull/813 解决了我的问题。我不确定我是否理解。
-
{% compress %} 标签内的所有文件都连接为一个。在某些情况下,即使输入文件有效,这也会产生无效的输出,例如 PR。 PR 在连接的文件之间插入分号来解决这个问题。即使您认为这个特定的 PR 没有帮助,我建议您尝试当前的开发版本 :)
标签: javascript angularjs django amazon-web-services django-compressor