小编jpg*_*pgc的帖子

当块加载失败时,Webpack 是否提供全局错误挂钩?

从 RequireJS 迁移到 Webpack 4 后,我正在寻找与require.onError等效的方法来捕获运行时块加载错误,但我找不到任何添加全局错误处理程序的选项。

我知道在使用异步import调用时可以捕获错误,如下所示:

import('module/path')
.catch(function() {
    // error handling code
});
Run Code Online (Sandbox Code Playgroud)

但是,是否有 Webpack 选项来添加通用块加载错误捕获?所以我可以为用户提供进一步的故障排除选项(比如刷新页面提示)。

我的应用程序大量使用异步/延迟加载,并且在每次import调用中内联添加错误管理代码不是一种选择,因为我需要回退以确保在开发人员忘记添加错误管理时会有错误处理程序。

error-handling requirejs webpack

9
推荐指数
1
解决办法
1235
查看次数

跨域Sails.js + Socket.io授权

我正在使用一个应用程序,它将推送内容提供给托管在不同域中的一组Web应用程序.我正在使用Sails.js和Socket.io,并将其结构如下:

在每个Web应用程序的客户端浏览器上运行的客户端脚本如下所示:

socket.on('customEvent', function(message){
    //do something with message on event trigger
}
Run Code Online (Sandbox Code Playgroud)

然后,在服务器中,事件'customEvent'在需要时发出,并且它可以工作(例如在onConnect事件:) sails.io.emit('customEvent',{message ...}.

但是在处理授权方面我遇到了问题.我已经试过第一种方法是基于Cookie的身份验证,如解释在这里(通过改变api/config/sockets.js功能authorizeAttemptedSocketConnection),但它不是生产一个适当的解决方案,它不与更严格的cookie策略浏览器的支持(由于他们默认禁止第三方cookie).

我的问题是:如何使用sails.js实现适当的跨浏览器和跨域授权机制,这可以在socket.io的授权过程中得到支持?

======

更多细节:

  • 我还尝试使用这个例子作为基础添加一个着名的oauth提供者(例如facebook)的登录.我有Passport会话,但我仍然无法通过客户端脚本进行身份验证(它只适用于我的节点应用程序直接托管的页面).
  • 获取会话的JSONP请求可能是一个解决方案,但它在Safari中不能很好地工作.另外,我更喜欢用户在其中一个网络应用中进行身份验证,而不是直接在我的节点应用程序中进行身份验证.

authorization cross-domain node.js socket.io sails.js

5
推荐指数
1
解决办法
1738
查看次数