它们(幂等函数和确定性函数)只是在给定相同输入的情况下返回相同结果的函数吗?
或者是否有我失踪的区别?(如果有区别,请你帮我理解它是什么)
我想捕获npm run start文件中的输出(我收到了大量错误,我想对如何筛选输出有更多的控制权)。
当我尝试
npm run start > log.txt
Run Code Online (Sandbox Code Playgroud)
我得到一个非常简短的文件(8 行),以 [34m?[39m [90m?wdm?[39m: Failed to compile.
当我尝试
npm run start &> log.txt // redirect stderr and stdout to a file
Run Code Online (Sandbox Code Playgroud)
我得到一个类似的缩写文件(11 行),它以类似的乱码输出结尾。
我错过了什么?
我最近在Kyle Simpson的"你不了解JS:ES6"中读到了以下内容
"[ES6模块导出]实际绑定(几乎像指针)到内部模块定义中的标识符."
我的困惑是这些绑定与参考文献有何不同......
我理解JS 中的引用只适用于非原始类型(如对象),因此给定
let object1 = {a: 1};
let object2 = object1;
Run Code Online (Sandbox Code Playgroud)
object1而object2现在所说的(他们是两个参考点)同一个对象.
如果我添加一个属性object2,我也添加了一个属性object1
object2.b = 2;
console.log(object1.b); // 2
Run Code Online (Sandbox Code Playgroud)
我可以看到绑定可以应用于基本类型和非基元类型
// foo.js
export let count = 1;
export function incrementCount() { count++; }
// bar.js
import {count, incrementCount} from foo;
console.log(count); // 1
incrementCount();
console.log(count); // 2
Run Code Online (Sandbox Code Playgroud)
绑定就像引用一样,除了原始值也可以共享绑定(而引用仅限于非基本类型)?
我觉得我在这里错过了一些东西......
在我周围(例如博客文章,代码)我看到React无状态功能组件的代码,React即使它从未使用过,也会导入其中.
import React, { PropTypes } from 'react';
function MyComponent({ foo, bar }) {
...
return ...;
}
MyComponent.propTypes = {
foo: PropTypes.string.isRequired,
bar: PropTypes.func.isRequired
}
export default MyComponent;
Run Code Online (Sandbox Code Playgroud)
我认为没有必要导入React到功能组件中,并且一直认为它只是组件是类和不再需要的时候的遗迹.
我也很惊讶我的linter没有抱怨未使用的导入(当我导入未使用的东西时通常会抱怨).
是否有某些理由导入React我不知道的功能组件?
我想将我的应用程序从OpenLayers 2更新到OpenLayers 3.
是否有人知道有助于此的迁移指南(或类似的东西)?
我看到有一个eslint规则,no-return-await禁止return await.
在规则的描述中,它表示return await添加"extra time before the overarching Promise resolves or rejects".
但是,当我查看MDN async函数文档时,"简单示例"显示了一个示例,其中return await不包含任何可能导致性能问题的描述.
是return await一个实际的性能问题,因为eslint文档建议?
如果是这样,怎么样?
我有3个嵌套的,隔离的范围,指令(参见CodePen),我能够将一个函数(带参数)从最外层的指令传递给最里面的指令(将函数从外部指令传递给中间指令到内部指令) .
我无法理解的是将内部指令中的参数通过中间指令传递回外部指令需要做些什么.
再次,请参阅CodePen示例.
注意:鉴于只有2个隔离范围指令,我可以使用类似于以下内容的方法...
angular.module('myApp', [])
.directive('myDir1', function() {
return {
template: '<div><my-dir-2 add-name="addName(name)"></my-dir-2></div>',
controller: function($scope) {
$scope.addName = function(name) {
alert(name); // alerts 'Henry'
};
}
}
})
.directive('myDir2', function() {
return {
scope: {
addName: '&'
},
template: "<span ng-click='addName({name: testName})'>Click to Add {{testName}}!</span>",
controller: function($scope) {
$scope.testName = 'Henry';
}
}
});
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我一个带有'Henry'的警告框(就像我期望的那样).
当我添加第三个中间隔离范围指令时,我遇到了问题......
angular.module('myApp', [])
.directive('myDir1', function() {
return {
template: '<div><my-dir-2 add-name="addName(name)"></my-dir-2></div>',
controller: function($scope) {
$scope.addName = function(name) {
alert(name); …Run Code Online (Sandbox Code Playgroud) 我有以下内容
const key = 'foo';
const test = { foo: { bar: 23 } };
Run Code Online (Sandbox Code Playgroud)
我想用lodash get来访问它的值test[key].bar.
我想在第一个指标上使用括号表示法......
_.get(test, '[key].bar'); // results in undefined
Run Code Online (Sandbox Code Playgroud)
当然有办法......
在添加gulp-babel到构建过程后,我正在尝试加快构建时间...
起初我认为gulp-cached可能会有所帮助,但这导致编译文件只包含最近编辑过的那些文件(我现在看到它是如何gulp-cached工作的).
没有babel,我的构建时间<200ms.
有了babel,它可以达到1.5秒.
我当然希望将它恢复到200毫秒......
有任何想法吗?
我正在使用fetch并将whatwg-fetchpolyfill包含在我的应用程序中.
我也TextDecoder按照Jake Archibald的博客中描述的那样使用了!解码响应,但我不确定使用什么polyfill.
(目前Safari抱怨ReferenceError: Can't find variable: TextDecoder)
我猜有一个polyfill TextDecoder,但我找不到它......
javascript ×7
ecmascript-6 ×2
angularjs ×1
async-await ×1
babeljs ×1
bash ×1
es6-modules ×1
fetch-api ×1
gulp ×1
idempotent ×1
lodash ×1
npm ×1
openlayers ×1
openlayers-3 ×1
polyfills ×1
react-jsx ×1
reactjs ×1
reference ×1
shell ×1