我的节点QUnit Travis CI构建(请参阅.travis.yml)fail miserably,但出现此错误:
Running "qunit:files" (qunit) task
Testing test/unit/iframeTracker-jQuery1.html FF
global failure
Message: ReferenceError: Can't find variable: jQuery
file:///home/travis/build/vincepare/iframeTracker-jquery/src/jquery.iframetracker.js:184
QUnit测试代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.3.3.css">
</head>
<body>
<div id="qunit"></div>
<div id="qunit-fixture">
<!-- ... (some iframe) -->
</div>
<script src="https://code.jquery.com/qunit/qunit-2.3.3.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="../../src/jquery.iframetracker.js"></script>
<script src="iframeTracker_test.js"></script>
</body>
</html>
我不明白为什么,因为它工作正常in the browser并且在本地节点内(在Windows和Linux / Docker上测试):
docker run -ti --rm -v "$(pwd):/app" -w /app node:9 npm install
docker run -ti --rm -v "$(pwd):/app" -w /app node:9 npm test
我怀疑CDN(code.jquery.com
和ajax.googleapis.com
)对此问题负责(我不知道travis构建环境是否可以访问互联网)但我发现了一些jQuery / QUnit适用的构建版本(similar setup和using CDN):https://travis-ci.org/fengyuanchen/cropper/builds/314789410
任何人都可以解释一下我构建的错误吗?
答案 0 :(得分:0)
从ajax.googleapis.com
切换到code.jquery.com
CDN解决了Travis CI构建问题。
我没有在Travis CI文档和问题跟踪器中找到任何关于此的官方信息,但似乎Travis构建环境有一些网络限制。从Travis工作人员那里得到一些引用会很好,例如允许或拒绝CDN的列表。