小编goo*_*els的帖子

CouchDB - CouchApp 的任何替代品?

所以我最近一直在阅读有关 CouchDB 的文章,我真的很喜欢它。它看起来很简单,但很灵活,我喜欢 RESTful 界面。但是让我们面对现实吧——除非您正在构建 SAP,否则您会希望您的应用程序使用 SEO 友好的 URL 来提供静态 HTML,而不是恒定的 HTTP 请求。我还没有在任何项目中实际使用过 CouchDB,但我很想在不久的将来探索它。

问题是:如何使用它来构建静态 HTML 网站,例如博客?我想将我所有的博客文章存储在 CouchDB 中,然后根据类别、标签和日期将它们作为 HTML 提供。如果我正确理解这一点,我只会在我的设计文档中定义一组表演。因此,例如,在“工作”类别中所有帖子的设计文档中,我还将为节目添加一个单独的功能模板。但是,我在将 HTML 存储在 JSON 文件中的 JavaScript 函数中时遇到了一些问题!这听起来维护起来非常痛苦。我快速浏览了 CouchApp,它似乎解决了这个问题,但它似乎并没有在积极开发中,因此我对其他可能的解决方案提出了疑问。

我希望能够像往常一样构建我的 HTML/CSS/JS,但如果可能的话,可以利用 CouchDB 的好处,而无需任何外部后端。或者甚至更好 - 我希望将我的数据库实际定义为 JSON 文件,我的地图作为常规.js文件运行,并为其他所有内容维护经典目录结构,例如:

db/data - 这包含 CouchDB

db/maps - 这包含我的地图功能

public/ - 这包含其他所有内容,包括其他 JS、CSS 和 HTML,如下所示:

public/css
public/js
public/categories.html
public/posts.html
public/index.html
Run Code Online (Sandbox Code Playgroud)

等等。

关于如何实现这一目标的任何想法?或者,如果它甚至可能?

额外的问题:有人能这么好心解释什么是reduce函数吗?它们是sumcount函数的 SQL …

database rest couchdb nosql couchapp

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

Vuex 突变调用另一个突变或同步操作?

我正在学习 Vuex,但在构建我的应用程序时遇到了问题。

考虑这些代码片段,它们都在做同样的事情:

示例#1:

mutations: {
  add: function(state, employee) {
    state.employees.push(employee);
  },
  remove: function(state, index) {
    state.employees.splice(index, 1);
  }
},
actions: {
  generate: function(context) {
    context.commit('add', 'John Smith');
  }
}
Run Code Online (Sandbox Code Playgroud)

如果操作应该是异步的,那么这是错误的。

示例#2:

mutations: {
  add: function(state, employee) {
    state.employees.push(employee);
  },
  remove: function(state, index) {
    state.employees.splice(index, 1);
  },
  generate: function(state) {
    this.commit('add', 'John Smith');
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以从另一个突变中调用一个突变吗?如果没有,那就太错误了。

示例#3:

mutations: {
  add: function(state, employee) {
    state.employees.push(employee);
  },
  remove: function(state, index) {
    state.employees.splice(index, 1);
  },
  generate: function(state) {
    state.employees.push('John Smith');
  }
}
Run Code Online (Sandbox Code Playgroud)

另一方面,这重复了逻辑 …

state store vue.js vuex

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

在 React 中过滤数据的最佳方法是什么?

我正在建立该国餐馆的目录。该 API 返回一组对象,每个对象都包含诸如restaurantName、restaurantLocation、restaurantPriceRange 等字段。

我想创建一个过滤组件,它将餐厅数组减少到仅包含那些符合搜索条件的餐厅的子集。我还需要通过 URL 传递过滤器值,为此我认为应该使用路由器。

我正在考虑使用 useState 挂钩存储初始数据集,然后使用 useReducer 存储活动过滤器选择和过滤后的餐厅集合的子集,仅包含那些与搜索条件匹配的餐厅集合,但我觉得这是一个笨拙的解决方案,因为我有效将复制整个餐厅集合的一个子集。

但是,如果我不使用 useState 将初始数据集存储在单独的对象中,则一旦应用过滤器,所有不匹配的内容都将永远消失。

实现这一目标的最佳方法是什么?

免责声明:我知道如何在 JavaScript 中过滤数组,并且完全了解过滤器、映射、排序等功能。这个问题是关于 React 生态系统的,以及在反应应用程序。我知道当我为其编写代码时,我仍然需要在我的减速器中使用 Array.prototype.filter 。

state filtering reactjs use-reducer use-state

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

逻辑运算符及其在JavaScript中的行为

为什么这会失败?

我读这段代码的方式是"如果a或b或c等于3,则语句为真".但显然JavaScript不同意.为什么?

function test() {

    var a = 'one';
    var b = 'two';
    var c = 'three';

    return ( ( a || b || c ) === 'three' );

}
Run Code Online (Sandbox Code Playgroud)

编辑:我知道我需要分别评估每个表达式,但正在寻找一种更快的方式来编写它.任何建议都会受到欢迎.

javascript jquery logic operators logical-operators

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