将文件上传到S3存储桶后,javascript文件中的字符会发生变化

时间:2016-06-07 15:50:36

标签: javascript d3.js amazon-s3

我将d3作为我的存储库中的依赖项。将其上传到S3存储桶后,网页会抛出指向d3.js文件的非法令牌错误。首先我通过Codeship管道构建它,然后我尝试手动上传d3.js文件;同样的事情发生了。

d3.js:1261 Uncaught SyntaxError: Unexpected token ILLEGAL

第1261行:

var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π;

但是我的IDE(网络风暴)中的文件看起来像这样

 var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π;

为什么会发生这种情况,我该如何避免呢?

编辑:我想添加如何注入依赖项,以防它向任何人提出任何想法:

的index.html:

<!-- bower:js -->
<script src="/bower_components/d3/d3.js" type="application/javascript"></script>

使用gulp任务向HTML注入依赖关系:

...
// Bower assets
    var bower = gulp.src(bowerFiles(), {read: false});

    return target
        .pipe(inject(bower, {
            transform: typeTransform,
            name: 'bower'
        }))
....

bower.json:

 "dependencies": {
    "d3": "3.5.17",
...

提前致谢

2 个答案:

答案 0 :(得分:1)

我修复了向依赖项添加charset属性的问题:<script src="/bower_components/d3/d3.js" type="application/javascript" charset="utf-8"></script> 有关详细信息,我建议您阅读此处的规范:{{3}}

答案 1 :(得分:0)

如果您使用的是Dreamweaver,请在保存文件之前选中以下选项:Include Unicode Signature(BOM):

enter image description here

或者在编辑器上寻找类似的选项。