Jsdom: DOMException.SECURITY_ERR 与反应路由器

创建于 2016-02-06  ·  4评论  ·  资料来源: jsdom/jsdom

/../app/node_modules/jsdom/lib/jsdom/living/window/History-impl.js:87
        throw new DOMException(DOMException.SECURITY_ERR, `Could not parse url argument "${url}" to ${methodName} ` +
        ^
SecurityError
    at HistoryImpl._sharedPushAndReplaceState (/../app/node_modules/jsdom/lib/jsdom/living/window/History-impl.js:87:15)
    at HistoryImpl.replaceState (/../app/node_modules/jsdom/lib/jsdom/living/window/History-impl.js:72:10)
    at History.replaceState (/../app/node_modules/jsdom/lib/jsdom/living/generated/History.js:89:58)
    at getCurrentLocation (/../app/node_modules/history/lib/createBrowserHistory.js:60:39)
    at Object.listen (/../app/node_modules/history/lib/createHistory.js:106:23)
    at Object.listen (/../app/node_modules/history/lib/createDOMHistory.js:31:20)
    at Object.listen (/../app/node_modules/history/lib/createBrowserHistory.js:144:28)
    at Object.listen (/../app/node_modules/history/lib/useBasename.js:78:22)
    at Object.listen (/../app/node_modules/history/lib/useQueries.js:111:22)
    at syncHistory (/../app/node_modules/react-router-redux/lib/index.js:78:11)

参考: https :

最有用的评论

以防万一有人通过与我相同的堆栈跟踪被带到这里:

如果您正在使用 Jest,请不要忘记将testURL属性添加到您的 Jest 配置中。 这为我解决了问题👍

所有4条评论

@Sebmaster我确认这修复了它:

const jsdom = require('jsdom').jsdom

global.document = jsdom('<!doctype html><html><body><div id="app"></div></body></html>', {
  url: 'http://localhost'
})
global.window = document.defaultView
global.navigator = global.window.navigator

以防万一有人通过与我相同的堆栈跟踪被带到这里:

如果您正在使用 Jest,请不要忘记将testURL属性添加到您的 Jest 配置中。 这为我解决了问题👍

@marlonicus您介意将其更新为testURL (全大写 URL)吗? 谢谢你。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

machineghost picture machineghost  ·  4评论

Progyan1997 picture Progyan1997  ·  3评论

vsemozhetbyt picture vsemozhetbyt  ·  4评论

tolmasky picture tolmasky  ·  4评论

potapovDim picture potapovDim  ·  4评论