小编per*_*mon的帖子

相当于_.pick()但对于Lo-dash中的数组

我有以下集合:

var columns = [
    { key:'url', width:20, type:'text' },
    { key:'title', width:21, type:'text' },
    { key:'desc', width:22, type:'text' },
    { key:'domain', width:23, type:'text' },
    { key:'user', width:24, type:'text' }
];
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来映射一个带有拾取键的对象数组,类似于:

_.mapPick(columns, [width]) 
// [{width:20},{width:21},{width:22},{width:23},{width:24}]
Run Code Online (Sandbox Code Playgroud)

我知道我可以像这样扩展lo-dash:

_.mixin({
    mapPick:  mapPick:function (objs,keys){
        return _.map(objs, function (obj) {
            return _.pick(obj,keys)
        })
    }

});
Run Code Online (Sandbox Code Playgroud)

我不确定是否有一些我缺少的本机功能.

我在这里发现了一个类似的问题,但我正在寻找一种更为低调的本土方式.

javascript arrays lodash

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

JavaScript改变输入值时的事件?

<input>通过JavaScript代码更改元素值时的事件是什么?例如:

$input.value = 12;
Run Code Online (Sandbox Code Playgroud)

input事件在此不帮助,因为它不是谁在改变值的用户.

在Chrome上进行测试时,change不会触发该事件.也许是因为元素没有失去焦点(它没有获得焦点,所以它不能失去它)?

javascript events

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

如何在try catch块中使用const

const是块级变量,所以当我尝试怀疑代码时

try{
   const foo = bar[global.name].foofoo[global.name2];
}catch (err){
    console.log(error(err.message));
}
Run Code Online (Sandbox Code Playgroud)

const隐藏在 {}

const foo ;
try{
    foo = bar[global.name].foofoo[global.name2];
}catch (err){
    console.log(error(err.message));
}
Run Code Online (Sandbox Code Playgroud)

不工作,因为const必须是声明初始化.
所以我应该怎么尤斯consttry..catch块?

javascript syntax node.js ecmascript-6

10
推荐指数
1
解决办法
5490
查看次数

webpackHtmlPlugin:控制注入文件的顺序

我使用HtmlWebpackPlugin自动生成index.thml与webpack编译的输出.

出于性能原因,我将我的条目分成了供应商项目

像那样:

...
entry:{
    vendors:'./vendors.js'
    ,TimerApp:'./src/index.js'

},
output:{
    path: path.join(__dirname,'build'),
    filename:'[name].js'
},
...
Run Code Online (Sandbox Code Playgroud)

当我通过webpack-dev-server以下方式运行项目时:

set NODE_ENV=development && webpack-dev-server -d --hot --port 4040 --content-base src/"

我明白了 index.html

<head>
...
    <title>Timer Task</title>
    <link href="vendors.css"  rel="stylesheet">
    <link href="TimerApp.css" rel="stylesheet">
</head>
<body >
 ...
<script src="vendors.js"></script>
<script src="TimerApp.js"></script>
Run Code Online (Sandbox Code Playgroud)

verdor.js第一和TimerApp.js第二.那完美.

但..当我使用webpack时:

webpack --colors --watch --optimize-dedupe

订单是TimerApp.js第一个和vendors.js第二个,每次编译项目时都会生成异常

非常生气

那么,控制输出文件顺序的方法是什么?

参考:webpack.js文件:

var path = require('path');
var webpack = …
Run Code Online (Sandbox Code Playgroud)

webpack

9
推荐指数
2
解决办法
8648
查看次数

Nuxt:使用“可选链运算符”运算符 (.?)

Nuxt 2.12.2 在尝试使用object?.key.

Module parse failed: Unexpected token (311:25)                                                                                                                                                 friendly-errors 10:36:40
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file
Run Code Online (Sandbox Code Playgroud)

所以这是因为babel在 Nuxt 中配置为支持IE9我的项目中不需要的旧浏览器。

在另一个项目中,我只是把 .bablelrc

{
  "presets": [
    ["env", {
      "targets": {
        "browsers": ["last 2 Chrome versions"]
      }
    }]
  ]
}
Run Code Online (Sandbox Code Playgroud)

但在 Nuxt 中.bablelrc被禁用。那么我怎样才能optional chaining operator工作呢?

通过告诉 Nuxt 只支持现代浏览器。或添加@babel/plugin-proposal-optional-chaining

javascript babeljs nuxt.js

8
推荐指数
2
解决办法
3702
查看次数

如何在ES6模块系统中导出getter

是否可以在导入/导出模块系统中导出 getter?

export getter $topbar(){ return $('.topbar') }
Run Code Online (Sandbox Code Playgroud)

如何实施?

编辑:

因此,当我问这个问题时,我了解到每个导出的变量都作为by refgetter 并在每次检查值时公开新值。

这意味着更改模块中的变量值将更改每个导入模块中的值

javascript module ecmascript-6

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

在`package.json` 命令中使用`prestart` 而不是`&amp;&amp;` 有什么好处

我认为标题是自我解释,但再次:

packege.json例如,使用 npm 的预脚本prestart比仅&&start脚本中连接命令有什么好处?

{
  prestart: "parcel build",
  start "nodemon server.js"
}
Run Code Online (Sandbox Code Playgroud)

对比

{
 start: "parcel build && nodemon server.js" 
}
Run Code Online (Sandbox Code Playgroud)

它更跨平台?
它可以two async endless process像两台服务器一样处理(构建 + api)吗?

还有什么?

编辑:我发现了postInstall. Heroku 和这样的删除devDependency之后npm installpostinstall我可以build在 Heroku 之前放置进程删除执行此操作的代码。

javascript npm package.json

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

如何在“ angular.json”中配置内联样式和html模板?

看起来所有教程都显示了如何以旧angular.cli.json格式进行配置。

"defaults": {
  "styleExt": "css",
  "component": {
    "inlineStyle":true,
    "inlineTemplate":true
  }
}
Run Code Online (Sandbox Code Playgroud)

angular.json格式不正确。并产生错误Workspace needs to be loaded before it is used

因此,如何更改现有项目的配置以生成带有内联模板和CSS / SCSS的组件

谢谢。

angular-cli angular-schematics

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

React.useMemo 与 React.useState

我看到其他人询问useState + useEffect。但我想知道这两个实现中未更改(const)变量有什么不同:

function optionA(){
  const [Mesh]  = useState(()=> new Mesh)
  
 return "...someRender"
}

function optionB(){
 const Mesh = useMemo(()=> new Mesh)

 return "...someRender"
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我知道useRef(someValue)更适合这一点,但我发现它“不声明”地写Mesh.current在任何地方

javascript reactjs

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