dojo Intern4和CDN资源

ykejflvf  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(154)

我正在测试实习生4,我有一些来自CDN的资源要测试。在我的intern.json中,我有以下内容。

{
  "loader": {
    "script": "dojo2",
    "options": {
      "packages": [
        { "name": "dist", "location": "dist" },
        {
          "name": "esri",
          "location": "https://js.arcgis.com/4.5/esri"
        }
      ]
    }
  },
  "environments": [
    {
      "browserName": "chrome",
      "chromeOptions": { "args": [ "headless", "disable-gpu" ] },
      "fixSessionCapabilities": false
    }
  ],
  "suites": "dist/tests/unit/app/main.js",
  "maxConcurrency": 2
}

但是,当我运行测试时,我从@dojo/loader/loader.ts的stacktrace中得到了以下错误。

(ノಠ益ಠ)ノ彡┻━┻
Error: Failed to load module esri/core/promiseUtils from https://js.arcgis.com/4.5/esri/core/promiseUtils.js (parent: dist/tests/unit/app/main.js)

该文件存在于CDN上,只是加载程序似乎无法加载它。这是实习生4的限制吗?我以为在无头Chrome会话中运行它会起作用,但似乎没有。
谢谢!

xytpbqjk

xytpbqjk1#

默认情况下,“suites”列表中的套件在Node和浏览器环境中运行,并且@dojo/loader不支持通过Node中的URL加载模块。要仅在浏览器中运行套件,请将其添加到“browser”环境对象中,如下所示:

{
  "loader": {
    ...
  },
  ...
  "browser": {
    "suites": "dist/tests/unit/app/main.js"
  },
  "maxConcurrency": 2
}

相关问题