小编Chu*_*mon的帖子

Alternative to lodash omit

I would like to delete a property and return a new object without mutating the original object.

I know we can do this easily with Lodash like this:

const profile = { name: 'Maria', age: 30 }
_.omit(profile, name) // it returns a new object without the property name {age: 30}
Run Code Online (Sandbox Code Playgroud)

However, I would like to know if it's possible to do it with vanilla JavaScript without assigning that value to undefined or using a filter?

javascript object lodash

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

在 Visual Studio Code 中保存时避免自动缩进

当我在 Visual Studio Code 中保存 (javascript) 文件而不关闭完全自动缩进时,我想避免自动缩进行为。

我有这个代码(如果可能的话我想保留这个缩进):

const $tab_a = $('tab_a')
const $tab_b = $('tab_b')

;[$tab_a, $tab_b].forEach($e => $e.onclick = () => {
  if ($e.className) return
  $tab_a.classList.toggle('active')
  $tab_b.classList.toggle('active')
})
Run Code Online (Sandbox Code Playgroud)

但是,每次我使用 Visual Studio Code 保存时,它都会更改缩进,如下所示:

const $tab_a = $('tab_a')
const $tab_b = $('tab_b')

  ;[$tab_a, $tab_b].forEach($e => $e.onclick = () => {
    if ($e.className) return
    $tab_a.classList.toggle('active')
    $tab_b.classList.toggle('active')
  })
Run Code Online (Sandbox Code Playgroud)

我在 Visual Studio Code 中尝试了不同的设置:

  1. 编辑器:自动缩进(默认:完整)->无
  2. 编辑器:换行缩进(默认:相同)->无
  3. 所有组合并重新启动 VSCode

不幸的是,他们中的任何一个都为我工作。

任何帮助将非常感激。

注意:我没有使用扩展。

javascript indentation save visual-studio-code

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

在 AVA 测试中使用 webpack 别名

我需要在运行时将 webpack 中的别名包含到AVA中。

我使用 webpackresolve.alias来访问文件夹下的所有文件src

webpack.config.js

resolve: {
  alias: {
    '@': path.resolve(__dirname, 'src/'),
  },
},
Run Code Online (Sandbox Code Playgroud)

然后是@我自己的模块的特殊前缀,如下所示:

我的模块.js

import main from '@/view/main'
Run Code Online (Sandbox Code Playgroud)

这是我的 AVA 配置:

包.json

"scripts": {
  "test-unit": "ava test/unit"
},
"ava": {
  "require": ["esm"]
},
Run Code Online (Sandbox Code Playgroud)

是否可以像摩卡解决方案中那样向 package.json 添加一些内容? /sf/answers/3009257611/

非常感谢您的时间和帮助!

javascript alias webpack package.json ava

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

避免/绕过 Chrome 中的开发工具检测?

我一直在尝试从网站获取视频源,但是当我打开开发工具这样做时,它向我显示以下消息:“不要打开开发人员工具”。

到目前为止,我已经尝试过:

  • 关闭 javascript -> 不起作用,不加载视频。

  • 找到函数:

olplayer.src({type:"application/x-mpegURL",src:"https://127.0.0.1/no_video.mp4.m3u8"});
document.body.innerHTML="";
document.write(" Dont open Developer Tools. ");
throw new Error(" Dont open Developer Tools. ");
self.location.replace('https:'+window.location.href.substring(window.location.protocol.length));
Run Code Online (Sandbox Code Playgroud)

设置断点并重新加载,运行:

Object.defineProperty(window, "console", {configurable: false});
Run Code Online (Sandbox Code Playgroud)

任何想法如何绕过这种保护?

javascript google-chrome devtools adblock google-chrome-devtools

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