我的存储库中有 d3 作为依赖项。上传到S3存储桶后,网页抛出非法 token 错误,指向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 中看起来像这样(网络 Storm )
var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π;
为什么会发生这种情况以及我该如何避免它?
编辑:我想添加如何注入(inject)依赖项,以防它给任何人任何想法:
index.html:
<!-- bower:js -->
<script src="/bower_components/d3/d3.js" type="application/javascript"></script>
使用 gulp 任务将依赖项注入(inject)到 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",
...
提前致谢
最佳答案
我通过向依赖项添加字符集属性解决了问题:<script src="/bower_components/d3/d3.js" type="application/javascript" charset="utf-8"></script>
有关更多信息,我建议阅读此处的规范:https://www.w3.org/TR/REC-html40/struct/links.html#adef-charset
关于javascript - javascript 文件上传到 S3 存储桶后字符发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37683955/