小编Pan*_*olo的帖子

如何使段落中的最后一个span元素无包装?

我有一个装饰引号包围的段落.布局是流畅的,对于某些宽度,只有装饰性的报价是包装,我想避免.

截图:

*截图*

代码:http://jsfiddle.net/84EDh/1/(注意:未在Chrome之外测试)

<p>
    <span class="bigchar ldquo"></span>
    Begin paragraph [...paragraph content...] end paragraph.
    <span class="bigchar rdquo"></span>
</p>
Run Code Online (Sandbox Code Playgroud)

CSS:

p { position: relative; }
.bigchar {
    display: inline-block;
    width: 20px;
}
.bigchar:after {
    color: #aaa;
    font-size: 50px;
    position: absolute;
}
.ldquo:after {
    content: '“';
    top: -10px;
}
.rdquo:after {
    content: '”';
    bottom: -30px;
}
Run Code Online (Sandbox Code Playgroud)

可能的方法:

用另一个跨度中的结束跨度包裹最后一个单词

[...paragraph content...] end 
<span class="nowrap">
    paragraph.
    <span class="bigchar rdquo"></span>
</span>
Run Code Online (Sandbox Code Playgroud)

题:

是否有一种更优雅的方式来实现span段落末尾的无包装?

这不是很语义,也不容易实现,因为正如您所料,段落的内容是动态的,因此在模板级别不容易分割.

编辑:css补充说

html css word-wrap

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

设计基于Firebase的可扩展Feed模型

题 :

如何设计一个社交网络"Feed"与Firebase作为后端,可扩展?

可能答案:

"MVP"解决方案是设计一个feeds根子项,每个用户一个,并在每个关注者的提要中追加跟随用户的任何新帖子.

users
  user1
    name: bob
  user2
    name: alice
    follows: 
      user1: true

posts
  post1
     author: user1
     text: 'Hi there'

feeds
  user2
    post1: true
Run Code Online (Sandbox Code Playgroud)

这很有效,并在Firefeed项目中进行了演示.但它不能很好地扩展:如果凯蒂佩里想发布一些东西,她的手机将不得不写入数百万的饲料.

因此,在此SO问题中报告的解决方案将此操作委托给基于服务器的进程.

我的问题是,Firebase是一种"无后端"解决方案,这也是我使用它的主要原因,所以我想确保在没有服务器的情况下完全没有机会实现此功能.

如果feeds在上述架构中删除了孩子怎么办?

然后这样做:

baseRef.child('posts')
       .orderBy('author')
       .whereIn(baseRef.child('users/user2/follows').keys())
Run Code Online (Sandbox Code Playgroud)

很遗憾,whereInFirebase API中不存在,也不存在子查询:(

任何其他模型结构可能不需要服务器?

谢谢

performance database-design firebase

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

有没有一种简单的方法可以在网络工作者中运行 Firebase?

我有一个单页 React 应用程序,它由许多文件组成,与 gulp/browserify 捆绑在一起。

Firebase javascript 嵌入在此包中。

我想知道是否有一种简单的方法可以在另一个工作线程上运行某些 Firebase 操作?


我尝试过的:

设置一个工作器并通过 worker.postMessage(xxx). 在这两种情况下,它都会抛出一个错误,表示the object cannot be cloned. 下面是 Firebase 对象的示例。

var blobURL = URL.createObjectURL(new Blob([ '(',
    (function() {
        var onmessage = function(event) {
            var FB = new event.data.Firebase('my firebase URL');
            // Here, some Firebase operations
            // ...
        };
    }).toString(),
')()' ], { type: 'application/javascript' }));
var postViewedWorker = new Worker(blobURL);
URL.revokeObjectURL(blobURL);

[... later on ...]

postViewedWorker.postMessage({Firebase: Firebase, ...otherParams});
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,Worker 工作(哈哈),直到我尝试通过 Firebase。


我想避免什么: …

javascript web-worker firebase

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

在我的cli npm app中使用babel-register在本地工作,但在发布后不是全局的

我开发了一个javascript CLI应用程序,它使用ES2015代码和babel作为编译器.(babel-require hook)

该应用程序在本地完美运行,但当我在npm上发布时,它停止工作(babel似乎不再编译ES2015文件)

建立:

样本./bootstrap.js(ES5):

require('babel-register');
require('./src/app.js');
Run Code Online (Sandbox Code Playgroud)

样本./src/app.js(ES2015):

import package from 'package';
...
Run Code Online (Sandbox Code Playgroud)

样品./bin/myapp:

#!/usr/bin/env node
require('../bootstrap.js');
Run Code Online (Sandbox Code Playgroud)

在本地运行:

appdir$ ./bin/myapp
I'm running fine!
appdir$
Run Code Online (Sandbox Code Playgroud)

全局运行(在npm安装之后)中断:

$ sudo npm install -g myapp
??? myapp@0.1.0
$ myapp
/usr/local/lib/node_modules/myapp/src/app.js:1
(function (exports, require, module, __filename, __dirname) { import package from 'package';
                                                              ^^^^^^

SyntaxError: Unexpected token import
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:404:25)
    at Module._extensions..js (module.js:432:10)
    at Object.require.extensions.(anonymous function) [as .js] (/usr/local/lib/node_modules/myapp/node_modules/babel-register/lib/node.js:138:7)
    at Module.load (module.js:356:32)
    at …
Run Code Online (Sandbox Code Playgroud)

node.js npm babeljs babel-register

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

使用 Firebase 实现无密码登录的最佳方式

我想简化 Firebase 应用程序中的身份验证工作流程,并让用户无需密码即可连接:

  • 与第三方 OAuth 提供商:Facebook、Google 等。

或者

  • 有电子邮件

如果是后者,用户只需填写他们的地址,接收 URL,然后立即登录,而无需输入/记住密码。

每当他们注销或会话超时时,他们都会再次输入电子邮件,并收到一个新链接以开始新会话。

如何使用 Firebase 做到这一点?

我觉得这在客户端是不可能的,那么实现该工作流程的最佳服务器端例程是什么?

javascript web-applications firebase firebase-authentication

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

如何避免useEffect deps中无法保证的useCallback deps出现问题?

我最近开始使用新的React Hooks API,发现它很棒!

但是,我在依赖项区域遇到了一个小混乱。

这是什么意思

基本上,我的用例非常简单,可以通过以下伪代码进行说明:

import React, { useState, useCallback, useEffect } from 'react'

function Component() {
  const [state, setState] = useState()

  const doStuff = useCallback(() => {
    // Do something 
    setState(result)
  }, [setState])

  useEffect(() => {
    // Do stuff ONLY at mount time
    doStuff()
  }, [])

  return <ExpensivePureComponent doStuff={doStuff} />
}
Run Code Online (Sandbox Code Playgroud)

现在,以上代码可以正常工作。

但是在我安装完之后eslint-plugin-react-hooks,有一个警告。我必须声明在我的效果中使用的所有依赖项,即此处doStuff

好的,让我们修复该代码:

  useEffect(() => {
    // Do stuff ONLY at mount time
    doStuff()
  }, [doStuff])
Run Code Online (Sandbox Code Playgroud)

酷,不再警告!

等等,没有警告,但是...也没有错误?

让我们看看文档怎么说useCallback

useCallback(fn,deps)等同于useMemo(()=> fn,deps) …

react-hooks

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

附加到项目的Podio文件无法下载

我在尝试下载附加到Podio项目的文件时遇到问题:

podio.request('get', '/file/{file_id}/raw').then(console.log);
Run Code Online (Sandbox Code Playgroud)

以上程序显示:

{}
Run Code Online (Sandbox Code Playgroud)

这是一个JSON字符串化的空对象(而不是原始文件内容).

细节:

  • 登录后,可以使用其URL访问上述文件
  • 上述代码在正确认证后运行
  • 它实际上在使用file_id项目的图像字段时有效,但不能从文件附件(在我的情况下为pdf文件)中使用.
  • 使用API​​端点/item/app/{app_id}/filter获取项目列表时,属性file_count已设置,但不是files.我必须/item/{item_id}单独要求获得files包含在响应中的属性,不知道为什么.

问题:您知道问题是什么,以及如何下载原始附件?

编辑:aditionnal信息

如果我使用以下命令请求单个文件元数据:

podio.request('get', '/file/1234').then(console.log);
Run Code Online (Sandbox Code Playgroud)

我得到一个文件JSON对象,其中包含许多字段,但包含文件内容:

{
  ...
  link: 'https://files.podio.com/1234',
  file_id: 1234,
  ...
}
Run Code Online (Sandbox Code Playgroud)

正如我对@stengaard的评论中所述,如果我尝试为上述链接请求API,则响应如下:

{ [PodioNotFoundError: [object Object]]
  message:
   { error_parameters: {},
     error_detail: null,
     error_propagate: false,
     request:
      { url: 'http://api.podio.com/1234',
        query_string: '',
        method: 'GET' },
     error_description: 'No matching operation could be found. The path \'/1234\' was not found..',
     error: 'not_found' },
  status: 404,
  url: …
Run Code Online (Sandbox Code Playgroud)

node.js podio

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

StrongLoop:如何在loopback.boot()时在models /目录中定义模型?

在Loopback文档初始化应用程序时,有两件事:

第一:

Loopback.boot()根据json定义文件或给定选项加载数据源和模型,然后models /boot /目录加载所有js文件

然后 :

"不要在多个文件中使用app.boot()和app.model(name,config)进行组合,因为它可能导致模型由于竞争条件而未定义.为避免这种情况,请使用app.boot()确保所有模型作为模型定义的一部分传递."

这两者似乎不矛盾吗?

我有许多模型要定义,我不想在一个巨大的json文件中定义,因此想要在js每个模型中放置一个文件,models/在启动时加载所述目录.

我目前所做的是定义一个模型,models/ExampleModel.js如下所示:

    var properties = {
        fieldOne: { type: String, required: true },
        otherField: { type: Number }
    };

    var options = {
        relations: {
            collections: {
                type: "belongsTo",
                model: "user"
            }
        }
    };

    var Model = require('loopback').Model;
    module.exports = Model.extend('ExampleModel', properties, options);
Run Code Online (Sandbox Code Playgroud)

问题是:在期间boot(),模型已加载,但未附加到应用程序或任何数据源.它没有暴露给REST API.

我尝试了一个小的补充,models.json以在应用程序中启用该模型:

"examplemodel": {
    "options": …
Run Code Online (Sandbox Code Playgroud)

javascript model node.js strongloop loopbackjs

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

映射嵌套的 JSON

我尝试在 React JS 中映射嵌套的 JSON。

我的 JSON 数据是这样的,

"beautifuldata": [
{ "id":"1", "name":"a"},
{ "id":"2", "name":"b"},
{ "id":"3", "name":"c"},
{ "id":"4", "name":"d"},
{ "id":"5", "name":"e"},
{ "id":"6", "name":"f"},
{ "id":"7", "name":"g"}]
Run Code Online (Sandbox Code Playgroud)

这些数据来自一个 API。我可以将我的数据写入控制台。但是当我尝试进入内部时一切都出错了。例如,我想从我的 JSON 数据中获取 id,

我试试这个

[beautifuldata].map(x => console.log(x));
Run Code Online (Sandbox Code Playgroud)

此代码行提供了所有数据,

[beautifuldata].map(x => console.log(x.id));
Run Code Online (Sandbox Code Playgroud)

这段代码行给了我未定义的。我想访问我的 JSON 中的所有数据。我错过了什么?

javascript json

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