小编Nat*_*dly的帖子

如何为handlebars.js预编译部分?

我正在使用handlebars.js,我想开始预编译所有内容,但我似乎无法找到预编译部分内容的方法.我的大部分模板实际上都是偏见的.我试着像对待常规模板一样对待我们,但是然后将它们称为部分模板不起作用.

有没有办法预编译部分,或者,从另一个模板中调用一个模板?

node.js handlebars.js

30
推荐指数
4
解决办法
1万
查看次数

如何解决Safari 10.1错误"无法发送WebSocket框架"?

似乎Safari 10.1中的WebSocket API具有可以缓冲的最大量的二进制数据,然后发送的下一条消息会收到错误"WebSocket连接到...失败:无法发送WebSocket帧".

然后Safari使用代码1006(CLOSE_ABNORMAL)关闭连接.

的WebSockets都应该报告的bufferedAmount -但Safari浏览器始终报告0,直到出现错误并关闭连接.

我尝试在每条消息之间执行100ms的setTimeout,这似乎适用于小块数据的情况,但是当我发送结束JSON消息时,它似乎很脆弱且大块仍然会出错,即使延迟时间较长.

您可以在此处看到错误 - "播放示例"按钮在Safari 10.03中可用,但在10.1中出错.(处理WebSocket连接的代码.)

关于如何解决这个问题的任何想法?或者甚至是限制是什么?我知道Safari是开源的,但我不知道在哪里看.

更新:这是一个更简单的例子:

// this fails in Safari 10.1 but works in 10.03 (and other browsers)
var ws = new WebSocket('wss://echo.websocket.org');

ws.onerror = function(evt) {
  // Not sure why, but error events seem to have no useful information
  // The console, however, will have the following error:
  // WebSocket connection to 'wss://echo.websocket.org/' failed: Failed to send WebSocket frame.
  console.log("WebSocket error - …
Run Code Online (Sandbox Code Playgroud)

javascript safari webkit websocket

17
推荐指数
1
解决办法
1953
查看次数

在JavaScript中,是否有可能在Android和iOS浏览器中检测屏幕何时关闭

我正在追踪我的应用程序的javascript报告的一些非常高的加载时间,并发现当窗口在后台或显示器关闭时,Android(和iOS)暂停一些JavaScript执行.

在Android上,我发现我可以使用window.onfocusonblur事件来检测应用程序何时切换到后台(并且js执行很快会被暂停,至少对于新脚本而言),但是我找不到一种方法来检测屏幕打开或关闭.这可能吗?

(在Safari上,我除了相似的结果onfocus,并onblur没有可靠地触发.)

javascript android mobile-safari android-browser ios

16
推荐指数
2
解决办法
1万
查看次数

"Node.js命令提示符"和Windows命令提示符之间有什么区别?

"Node.js命令提示符"和Windows命令提示符之间有什么区别?

或者,更重要的是,当您可以从Windows命令提示符运行节点程序时,为什么它甚至存在?

注意:我问的是这个人,而不是 REPL:

Windows Node.js命令提示符

command-line cmd node.js

12
推荐指数
1
解决办法
3344
查看次数

NextJS URL像React-Router一样

我是NextJS的新手,第一印象看起来很棒.但是在给它机会之后我遇到了一些问题,比如使用自定义参数(例如react-router)进行 URL路由.

目前我们可以用NextJS做什么

https://url.com/users?id:123
Run Code Online (Sandbox Code Playgroud)

我们需要具备更好的URL模式

https://url.com/users/123
Run Code Online (Sandbox Code Playgroud)

在react-router这里有完美的例子https://reacttraining.com/react-router/web/example/url-params

reactjs react-router next.js

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

如何在不向用户显示堆栈跟踪的情况下处理servlet过滤器中的错误状态?

我正在开发一个Jetty/RESTEasy应用程序.如果我WebApplicationException(myResponse)从我的一个REST端点抛出一个,它会将给定的响应发送给客户端.

当筛选器检测到错误时,我想要相同的行为:

  1. 它应该停止继续执行,并且
  2. 它应该给用户一个明确的,JSON格式的错误,不包括堆栈跟踪.

显然,只需returndoFilter方法中写入响应流和工作.但这不适用于其他方法doFilter.

抛出任何异常将满足条件#1但我还没有想出一个理智的方式来满足条件#2.(你可以在底部看到我最好的尝试.)

作为感知他的回答解释,WebApplicationExceptions的处理就像在一个过滤器的情况下任何其他异常,因此给用户带来不错的丑陋堆栈跟踪.

那么,总结一下我的问题:

  • serveltt容器有什么相同的throw new WebApplicationException(Response)
  • 也许更重要的是,其他java项目如何处理这个?

我在一个过滤器中有这个代码并且它可以工作,但我更喜欢一个更优雅的解决方案,它自动应用于所有过滤器:

public void doFilter(final ServletRequest   request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException {
    try {
        doFilterOrThrow(request, response, chain);
    } catch (WebApplicationException e) {
        Response res = e.getResponse();
        ((HttpServletResponse) response).sendError(res.getStatus(), (String) res.getEntity());
    }
}
Run Code Online (Sandbox Code Playgroud)

java jetty resteasy servlet-filters

6
推荐指数
1
解决办法
1万
查看次数

如何让 heroku 停止为仅限工作人员的应用程序创建 Web 进程?

我有一个简单的仅工作人员应用程序,它使用 heroku 的调度程序每天运行一次。然而,我注意到每次我推送代码并跟踪它到heroku创建一个Web进程,运行我的worker命令(两次!),然后在我的worker完成后声明它“崩溃”时,我都会得到额外的运行。

我的 Procfile 只有一项:

worker: npm start
Run Code Online (Sandbox Code Playgroud)

但是当我推送到heroku时,日志包括这一点:

-----> Discovering process types
       Procfile declares types   -> worker
       Default types for Node.js -> web
Run Code Online (Sandbox Code Playgroud)

这是怎么回事以及如何禁用它?

您可以在https://github.com/nfriedly/vzw-bot上查看我的完整代码,并在https://travis-ci.org/nfriedly/vzw-bot/builds/83548651上查看最近推送的日志

heroku node.js procfile

6
推荐指数
1
解决办法
2797
查看次数

Karma测试在监视模式下传递,但是当--single-run标志通过时失败

我正在尝试更新Node.js库以在浏览器中工作.我有大量的测试都在Node.js中按预期工作,但是当我尝试在浏览器中运行它们时(通过Karma和Browserify),它给了我很多问题.我遇到的一个特殊问题是当业力处于"监视"模式时某些文件将通过,但在"单一运行"模式下失败:

观看模式:

~/node-sdk (browser) $ karma start
11 07 2016 16:55:59.122:INFO [framework.browserify]: registering rebuild (autoWatch=true)
11 07 2016 16:56:11.595:INFO [framework.browserify]: 9423226 bytes written (11.72 seconds)
11 07 2016 16:56:11.711:INFO [framework.browserify]: bundle built
11 07 2016 16:56:11.732:WARN [karma]: No captured browser, open http://localhost:9876/
11 07 2016 16:56:11.741:INFO [karma]: Karma v1.1.1 server started at http://localhost:9876/
11 07 2016 16:56:11.741:INFO [launcher]: Launching browsers Chrome, Firefox with unlimited concurrency
11 07 2016 16:56:11.748:INFO [launcher]: Starting browser Chrome
11 07 2016 16:56:11.758:INFO [launcher]: Starting browser …
Run Code Online (Sandbox Code Playgroud)

javascript node.js browserify karma-runner karma-mocha

5
推荐指数
0
解决办法
336
查看次数

reactjs和nextjs有什么区别

我才刚刚开始学习Reactjs,我Reactjs和之间有些困惑next.js。它们之间有什么区别?两者都是面向组件的过程。

reactjs next.js

5
推荐指数
3
解决办法
3814
查看次数

是否可以在猫鼬中创建多选枚举

我有一个带有枚举字段的模型,目前文档可以包含枚举中的任何单个值.我希望允许文档具有一组值,但是让mongoose强制执行所有值都是枚举中存在的有效选项 - 这可能吗?

基本上我想要一个HTML <select multiple>元素而不是一个<select>

mongoose mongodb node.js

4
推荐指数
1
解决办法
2807
查看次数

如何使用next.js中的getInitialProps方法获取Cookie?

我面临next.js的问题

当我向提出要求时,我无法获得Cookie async static getInitialProps。我得到undefined

但是,当我将其放入componentWillMount时没有问题。不幸的是,为时已晚,因为我需要在调用组件之前获取cookie信息。所以我需要把它拿进去getInitialProps

在这里,我已经尝试过但没有成功的事情:

static async getInitialProps () {
      const res = await axios.get('http://mybackend/getCookie');
      return {data : res.data}
    }
    
    //res.data = undefined
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

cookies node.js next.js

4
推荐指数
1
解决办法
5403
查看次数

Facebook的JS SDK开源是ES5()包装吗?

Facebook的JS SDK最近开始使用更新的ES5 Javascript方法,如Object.keys()[].map().它们仍然支持旧版浏览器,它具有ES5()接受原始对象的函数,所需方法的名称以及任何参数.然后,如果本机方法不可用,它将运行本机方法或等效的JS方法.例如:

ES5(g.api.whitelist, 'forEach', true, function(ca) {
    s[ca] = 1;
});
Run Code Online (Sandbox Code Playgroud)

或者对于顶级对象,

ES5('JSON', 'parse', false, r.responseText);
Run Code Online (Sandbox Code Playgroud)

我怀疑这是预处理器的结果,FB的开发人员实际上正在编写更多内容

g.api.whitelist.forEach(function(ca) {
    s[ca] = 1;
});
Run Code Online (Sandbox Code Playgroud)

JSON.parse(r.responseText);
Run Code Online (Sandbox Code Playgroud)

(可能还有更长的变量名称)

现在,假设我是正确的,有一个预处理器,ES5()函数和相关的预处理是一个开源项目或内部的东西?如果它是内部的,那么FB的任何人都可以评论开源的可能性吗?这是我能发现非常有用的东西.

javascript facebook-javascript-sdk

2
推荐指数
1
解决办法
416
查看次数

如何在Meteor/Minimongo中提高过滤器的响应能力

我对Meteor很新.我有一个相当小的数据集,<1000条记录的应用程序,我构建了一个相当天真的过滤器为您的类型实现.

现在,性能非常糟糕 - 每个按键都会导致浏览器在相对较快的计算机上遵守冻结一两秒.

它目前已autopublish启用并正在客户端做一切,我知道这是问题的一个重要部分,我只是不确定如何改进它.

这是相关的代码段:

  Template.results.codes = function () {
    var query = Session.get("query")
    // todo: figure out if there's a better way to do this
    var search = (query && query.length > 3) ? {$where: function() {
        return this.code.indexOf(query) != -1;
    }} : {}
    return Codes.find(search);
  };
Run Code Online (Sandbox Code Playgroud)

您可以在https://github.com/nfriedly/Meteor-ODB-II上查看完整资源,并在http://odb-ii.meteor.com/上试用.

我有的具体问题:

  • 有没有更好的方法来搜索mongo db/minimongo?
  • 是否有直接的方法将搜索移出UI线程?要么是网络工作者,要么只是在服务器上运行它?
  • 有没有办法让我的模板知道"数据仍在加载"和"此集合中没有数据"之间的区别,以便在应用程序最初加载时不会闪烁"找不到结果"消息.

mongodb meteor

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