Travis CI QUnit 构建因 jQuery 上的 ReferenceError 失败
Travis CI QUnit build fail with ReferenceError on jQuery
我的节点 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 and using CDN) that works : https://travis-ci.org/fengyuanchen/cropper/builds/314789410
任何人都可以向我解释我的构建有什么问题吗?
从 ajax.googleapis.com
切换到 code.jquery.com
CDN 解决了 Travis CI 构建。
我没有在 Travis CI 文档和问题跟踪器中找到任何关于此的官方信息,但似乎 Travis 构建环境有一些网络限制。如果能从 Travis 工作人员那里引用一些内容就好了,例如允许或拒绝的 CDN 列表。
我的节点 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 and using CDN) that works : https://travis-ci.org/fengyuanchen/cropper/builds/314789410
任何人都可以向我解释我的构建有什么问题吗?
从 ajax.googleapis.com
切换到 code.jquery.com
CDN 解决了 Travis CI 构建。
我没有在 Travis CI 文档和问题跟踪器中找到任何关于此的官方信息,但似乎 Travis 构建环境有一些网络限制。如果能从 Travis 工作人员那里引用一些内容就好了,例如允许或拒绝的 CDN 列表。