小编c10*_*b10的帖子

从ES6模块导入函数表达式或函数声明有什么区别?

据我所知(参见16.3.2.1节),ES6允许函数/类导出操作数的不同语法.差异是指导出的函数是否需要在导入时解释为函数声明,在这种情况下,您可以编写:export default function () {} // (a)或作为函数表达式:export default (function () {}); // (b).

作为一个可能的相关旁注:我读到进口是悬挂的,但我不确定这意味着什么.

以这个例子为例:

import foo from 'my_module'; // (c)

据我了解,上面的语句将我的导出函数保存在foo变量中.这个变量是悬挂的,或是什么,何时?

最重要的是,foomy_module使用函数(a)和使用函数导出时,有什么区别(在设置方面)(b)

javascript ecmascript-6 es6-modules

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

你可以使用combineReducers来组成深度缩减器吗?

Redux文档建议使用normalizr这样设计状态的形状:

{
  entities: {
    cards: {
      42: {
        id: 42,
        text: 'Hello',
        category: 2
      },
      43: {
        id: 53,
        text: 'There?',
        category: 1
      },
    }
    categories: {
      1: {
        id: 1,
        name: 'Questions'
      }
      2: {
        id: 2,
        name: 'Greetings'
      },
    }
  },
  filter: 'SHOW_ALL',
  allCardsList: {
    isFetching: false,
    items: [ 42, 43 ]
  },
}
Run Code Online (Sandbox Code Playgroud)

当然,这会分成三个可组合的缩减器(filter,allThingsListentities),但在我看来,我想要为entities.cards和编写单独的缩减器entities.categories.

有没有办法将实体管理拆分为子集合器,允许这样的组合:

let rootReducer = combineReducers({
   entities: {
      things,
      categories
   },
   filter, …
Run Code Online (Sandbox Code Playgroud)

redux

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

是否有可能在php中获得调用方上下文的魔术常数?

我想创建一个调试函数,该函数转储有关执行上下文的信息以及其他一些信息。

在debug.php中,我有一个函数可以转储作为参数传递的所有内容。我对从例如example.php调用转储函数的方法感兴趣,并希望它返回调用上下文的文件名,行号和函数名。

1. <?php
2. function my_function(){
3.   $var = 'My example';
4.   dump( $var );
5. }
6. ?>
Run Code Online (Sandbox Code Playgroud)

example.php

我希望上面的函数输出:“ example.php,my_function,4:我的示例”。

反正有这样做的(通过短__FILE____FUNCTION____LINE__)作为参数?

php constants

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

Mocha为ES6对象扩展运算符抛出意外的令牌错误

当我运行mocha时,Unexpected token如果我在我的应用程序中使用对象扩展运算符,它会突然中断并出现错误:

SyntaxError: ../app/middleware/api.js: Unexpected token (30:13)
  28 |
  29 |   // Dispatch beginning action
> 30 |   dispatch({ ...payload, type: startAction });
Run Code Online (Sandbox Code Playgroud)

更换它可以Object.assign解决问题.我已将transform-object-rest-spread插件包含在webpack.config.js文件中,如下所示:

  module: {
    loaders: [{
      test: /\.js?$/,
      exclude: /(node_modules|bower_components)/,
      loader: 'babel',
      query: {
        presets: ['stage-2','es2015','react'],
        plugins: ['transform-class-properties', 'transform-object-rest-spread']
      }
    }]
  }
Run Code Online (Sandbox Code Playgroud)

该应用程序在浏览器中工作正常,这让我相信像这样运行摩卡:

mocha './app/tests/*.spec.js' --compilers js:babel-register --recursive

不包括babel插件.

有没有办法让它包含它们?

mocha.js babeljs

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