小编nik*_*ohn的帖子

如何在纱线中清除缓存?

我正在为Facebook的纱线做一些基准测试.为此,我需要清除我的全局Yarn缓存.

有没有可用的命令?我已经强行删除了我的~/.yarn-cache文件夹,但这似乎是非常手动的.

javascript dependency-management npm yarnpkg

228
推荐指数
4
解决办法
12万
查看次数

什么时候使用promise.all()?

这更像是一个概念性问题.我理解Promise设计模式,但找不到可靠的来源来回答我的问题promise.all():

什么是正确的使用场景 promise.all()

要么

有没有最好的做法promise.all()?理想情况下,只有当所有promise对象具有相同或相似类型时才能使用吗?

我唯一能想到的是:

  • 使用promise.all(),如果你想解决的承诺只有所有的承诺的对象决心和拒绝,如果连一个拒绝.

javascript design-patterns promise

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

承诺:执行某些事情而不管解决/拒绝?

使用Promises设计模式,是否可以实现以下功能:

 var a, promise

 if promise.resolve
     a = promise.responsevalue;

 if promise.reject
     a = "failed"

 AFTER resolution/rejection. Not ASYNC!!
     send a somewhere, but not asynchronously. //Not a promise
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是类似finallytry - catch情况.

PS:我在NodeJS上使用ES6 Promise polyfill

javascript asynchronous promise chain

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

使用Angular JS ng-src的后备(默认)图像

我正在尝试使用从模态返回的数据设置图像源.这是在ng-repeat循环中:

<div id="divNetworkGrid">
    <div id="{{network.id}}" ng-repeat="network in networks">
        <span>
            <table>
                <tr>
                    <td class="imgContainer">
                        <img ng-src="{{ ('assets/img/networkicons/'+ network.actual + '.png') || 
                                         'assets/img/networkicons/default.png' }}"/>
                    </td>
                </tr>
            </table>
        </span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

很明显,当network.actual模型属性返回null时,我想填充default.png.但是我的代码没有拿起默认图像,尽管第一张图像在可用时会很好.

我确定这是一些语法问题,但无法弄清楚是什么问题.

fallback image src angularjs

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

yarn自我更新抛出OAuth2身份验证错误

我正在尝试使用该yarn self-update命令来查看它是如何工作的,但它不会更新Yarn版本,而是抛出OAuth错误,如此

yarn self-update
yarn self-update v0.15.1
error OAuth2 authentication requires a token or key & secret to be set
    at __dirname.authenticate (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/github/lib/index.js:334:23)
    at Object.<anonymous> (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/lib/cli/commands/self-update.js:30:12)
    at next (native)
    at step (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
    at /Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/babel-runtime/helpers/asyncToGenerator.js:35:14
    at new Promise (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/core-js/library/modules/es6.promise.js:191:7)
    at Object.<anonymous> (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/node_modules/babel-runtime/helpers/asyncToGenerator.js:14:12)
    at Object.run (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/lib/cli/commands/self-update.js:99:17)
    at run (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/lib/cli/index.js:237:18)
    at config.init.then (/Users/nikjohn/.nvm/versions/node/v6.4.0/lib/node_modules/yarn/lib/cli/index.js:345:12)
info Visit http://yarnpkg.com/en/docs/cli/self-update for documentation about this command.
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样做以及需要做些什么才能解决这个问题?根据这里的文档,这个命令没有任何这样的OAuth依赖和恕我直言,它也不应该.

看起来这里已有PR了

编辑:进一步的研究表明,这是纱线的一个已知错误.但仍无法解决问题.如果修复程序作为新版本推出,那将是一个奇怪的catch22,但是由于命令失败,用户无法更新.一种可能的解决方案是yarn self-update [tag]代替yarn self-update,但这仍然是一个错误.*

编辑: …

runtime-error npm oauth2 yarnpkg

13
推荐指数
2
解决办法
2261
查看次数

Javascript中的经典脚本v/s模块脚本

当我看到这个声明时,我正在浏览标签的WHATWG规范asyncdefer属性<script>:

经典脚本可以指定deferasync; 模块脚本可以指定async.

我经历了经典模块脚本的WHATWG定义,但并没有真正清晰.有人可以向我解释我是5,Javascript中经典模块脚本之间的区别吗?

javascript module es6-modules

12
推荐指数
2
解决办法
4640
查看次数

React Router v4根级别无法访问的嵌套匹配参数

测试用例

https://codesandbox.io/s/rr00y9w2wm

重现步骤

要么

预期的行为

  • match.params.topicId两个父主题组件应该是相同的,应该与match.params.topicIdTopic组件中访问时相同

实际行为

  • match.params.topicIdTopic组件中访问时未定义
  • match.params.topicId主题组件中访问时正在呈现

我从这个封闭的问题中了解到,这不一定是一个错误.

此要求在想要在工厂Web应用程序中创建运行的用户中非常常见,其中Topics父级别的组件需要访问match.params.paramId,其中paramId是与嵌套(子)组件匹配的URL参数Topic:

const Topic = ({ match }) => (
  <div>
    <h2>Topic ID param from Topic Components</h2>
    <h3>{match.params.topicId}</h3>
  </div>
);

const Topics = ({ match }) => (
  <div>
    <h2>Topics</h2>
    <h3>{match.params.topicId || "undefined"}</h3>
    <Route path={`${match.url}/:topicId`} component={Topic} />
    ... …
Run Code Online (Sandbox Code Playgroud)

javascript routing nested reactjs react-router

10
推荐指数
2
解决办法
4454
查看次数

使用 react-leaflet 在标记中实现动态 JSX 元素

我有一个 React 应用程序,我在其中通过react-leaflet使用Leaflet,这两个库都非常有用。

在这个应用程序中,我有一组坐标需要渲染如下:

  1. 缩小时,将坐标聚类为标记聚类,如下所示 在此处输入图片说明

  2. 放大时,每个 Marker 需要有

    1. 它下面有一个动态倒数计时器
    2. 一个动态的 SVG 倒计时时钟,就像这样 在此处输入图片说明

对于聚类,我使用react-leaflet-markercluster插件,它非常适合显示静态内容。

但是,当我需要在每个标记中显示任何动态内容时,我无法选择发送JSX,只有从此处提供的示例中可以看出,只有静态 HTML 的规定。

// Template for getting popup html MarkerClusterGroup
// IMPORTANT: that function returns string, not JSX
function getStringPopup(name) {
  return (`
    <div>
      <b>Hello world!</b>
      <p>I am a ${name} popup.</p>
    </div>
  `);
}

// that function returns Leaflet.Popup
function getLeafletPopup(name) {
  return L.popup({ minWidth: 200, closeButton: false })
    .setContent(`
      <div>
        <b>Hello world!</b>
        <p>I am a ${name} …
Run Code Online (Sandbox Code Playgroud)

javascript jsx leaflet reactjs react-leaflet

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

如何使用Node.js + Express.js下载功能/单元测试文件

在我的Node.js,Express.js应用程序中,我使用了一个API来转换为CSV文件,然后在客户端上下载它,如下所示:

res.setHeader('Content-Type', 'application/octet-stream');
res.setHeader('Content-Disposition', 'attachment; filename=BuyNowOrders.csv;');
res.end(csv, 'binary');
Run Code Online (Sandbox Code Playgroud)

我有Mocha/Sinon/Nighwatch.js测试套件,我用它进行单元测试以及功能测试,使用完整的mock-api服务器模块提供模拟数据.

我该如何测试此功能?通常我会为每个模块进行功能测试和单元测试.

到目前为止,我已经为页面上的" 下载"按钮编写了测试,但我不确定如何测试文件是否已下载.

javascript testing mocha.js node.js express

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

在Git子模块中使用editorconfig

我有一个Web应用程序,它依赖于外部模块进行JSON模式验证.Web应用程序有自己的Git存储库,其中模块作为Git子模块包含在其中.

在Web项目中,我有editorconfig语法标准化.为此(因为我使用Sublime文本),我使用editorconfig-sublime.

该模块由另一个团队维护,他们有自己的编码风格.我偶尔会为此做出贡献.

我遇到的问题是,当我在Web文件夹中添加代码到模块时,我的编码风格与他们的冲突,因为我有自己的.editorconfig文件.他们目前没有使用editorconfig.

我的问题是:

是否可能,如果是,建议.editorconfig在基本Git存储库中使用一个,.editorconfig在Git子模块中使用另一个?这里的最佳做法是什么?

git git-submodules sublimetext sublime-text-plugin editorconfig

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