Javascript 更新JS库以使用npm后出现django压缩程序错误

Javascript 更新JS库以使用npm后出现django压缩程序错误,javascript,amazon-s3,django-compressor,Javascript,Amazon S3,Django Compressor,我将一组JS静态文件上传到S3,并使用django compressor进行压缩。django compressor在之前的部署过程中没有给出任何问题。在我从生活在codebase中的JS文件切换到使用npm安装各种JS库之后,django compressor给了我错误: 以下是使用npm之前基本模板中的脚本列表: {# Can't compress this guy #} <script src="{{STATIC_URL}}shared/ckeditor/ckeditor.j

我将一组JS静态文件上传到S3,并使用django compressor进行压缩。django compressor在之前的部署过程中没有给出任何问题。在我从生活在codebase中的JS文件切换到使用npm安装各种JS库之后,django compressor给了我错误:

以下是使用npm之前基本模板中的脚本列表:

{# Can't compress this guy #}
    <script src="{{STATIC_URL}}shared/ckeditor/ckeditor.js"></script>
  {% block scripts %}{% 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 %}
{不能压缩这个家伙}
{%block scripts%}{%compress js%}
{%endcompress%}
在使用NPM后,他们看到了:

{# Can't compress this guy #}
    <script src="{{STATIC_URL}}shared/ckeditor/ckeditor.js"></script>
  {% block scripts %}{% compress js %}
    <script src="{{STATIC_URL}}shared/stacktrace-js/dist/stacktrace.js"></script>
    <script src="{{STATIC_URL}}shared/jquery/dist/jquery.js"></script>
    <script src="{{STATIC_URL}}shared/jquery-growl/1.2.3/jquery.growl.js"></script>
    <script src="{{STATIC_URL}}shared/jquery-ui-dist/jquery-ui.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/angular.js"></script>
    <script src="{{STATIC_URL}}shared/angular-route/angular-route.min.js"></script>
    <script src="{{STATIC_URL}}shared/angular-cookies/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/src/angulartics.js"></script>
    <script src="{{STATIC_URL}}shared/angulartics-segment/lib/angulartics-segment.js"></script>
    <script src="{{STATIC_URL}}shared/chart.js/dist/Chart.min.js"></script>
    <script src="{{STATIC_URL}}shared/select2/dist/js/select2.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.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 %}
{不能压缩这个家伙}
{%block scripts%}{%compress js%}
{%endcompress%}
在压缩过程中,我在部署过程中遇到以下错误:

压缩。。。CommandError:渲染期间发生错误 /opt/codedeploy agent/deployment root/b2386cb6-3ef9-459c-b994-814b98b73cbc/d-WGY3CJ5BN/deployment archive/chalktalk/pages/templates/pages/terms.html: /opt/codedeploy agent/deployment root/b2386cb6-3ef9-459c-b994-814b98b73cbc/d-WGY3CJ5BN/deployment archive/node_modules/yuglify/bin/yuglify:77 抛出(错误)

^语法错误:意外标记:punc(;) 在JS_Parse_Error.Object.defineProperty.get(eval at(/opt/codedeploy agent/deployment root/b2386cb6-3ef9-459c-b994-814b98b73cbc/d-WGY3CJ5BN/deployment archive/node_modules/uglify JS/tools/node.JS:27:1), :86:23)


正如我在上一个问题中所建议的那样,您可以注释掉库二进制搜索样式的块,并找出是哪些块导致了问题。由于对库的大量引用,这将破坏代码。要做的工作很多,但却看不到它的有效性?当然,它破坏了代码,但现在它根本不起作用,您需要找出语法错误的来源。破坏东西有时是调试的一部分,不是吗?要详细说明二进制搜索方法,您可以注释掉一半的库,检查它是否有效。如果没有,则继续使用当前的一半库,再将其减半,如果它确实有效,则继续使用注释掉的一半库。这一共是五个步骤,不需要做很多工作,而且你不需要等待几天就可以得到一个如此简单的答案:)