【问题标题】:Can the ews-javascript-api be used in a standard web application and accessed via Chrome?ews-javascript-api 可以在标准 Web 应用程序中使用并通过 Chrome 访问吗?
【发布时间】:2019-05-22 04:23:57
【问题描述】:

我正在尝试在 Web 应用程序中使用 ews-javascript-api,但由于它似乎基于 Nodejs,我无法让脚本正常运行。我添加了requirejs,但现在我收到错误"Uncaught Error: Module name "../ExchangeWebService" has not been loaded yet for context: _. Use require([])"

是否可以从 Web 浏览器访问 ExchangeWebService.js 文件,如果可以,如何正确设置依赖项?

【问题讨论】:

    标签: ews-javascript-api


    【解决方案1】:

    虽然不容易。 Microsoft 未在 Exchange Server 上实施 CORS,Chrome 必须使用 CORS 预检才能访问 Exchange Server。如果您正在使用 ews-javascript-api 开发企业应用程序,您可以在中间使用一些代理来覆盖 CORS 限制,然后您可以在 Chrome 中使用它。出于测试目的,如果您在 Chrome 中禁用 CORS,则可以使用它。 nginx甚至IIS都可以用来覆盖这个限制,不确定你的用例。

    您必须使用专门构建的模块 https://github.com/gautamsi/ews-js-api-browser 才能与基于浏览器的访问一起使用。

    【讨论】:

    • 感谢您的快速回复,非常感谢您构建了这个很棒的库。我实际上使用的是 ews-js-api-browser 版本,但仍然遇到错误。我能够通过使用browserify让它工作,之后我得到了上面的错误。我将尝试使用代理,因为我无法在 Exchange 服务端禁用 CORS。再次感谢。
    • 在 gitter 上联系我,我可以尝试为在 chrome 中使用的复杂方式提供更多细节。 gitter 用户 ID:gautamsi
    • 我想通了。我误解了向浏览器使用的转变,并抓住了错误的 ExchangeService.js 文件。一旦我得到了正确的代码并重构了我的代码,它就完美地工作了。此外,虽然我的实现需要代码的浏览器版本,但它是通过应用程序嵌入式浏览器访问的,因此 CORS 实际上不是问题。非常感谢这个图书馆,太棒了!最后一件事:我应该如何为调用你的库的插件引用你的许可证?
    • 这是 MIT 许可证,我不需要或强制归属,这个 qn 将帮助您清楚地确定这一点 - opensource.stackexchange.com/questions/5828/…
    • 如果有人做过,为什么不分享一下现成的js文件呢? :) 我尝试构建 github.com/gautamsi/ews-js-api-browser 但 npm 给了我错误。因此解决了它们:包名称=目标,没有browserfy,内部chils过程中的错误:)自述文件中的说明不能立即起作用:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 2014-08-24
    • 2018-06-24
    • 2018-01-30
    相关资源
    最近更新 更多