小编Den*_*urg的帖子

Chrome 检查不显示 Node 应用程序、调试器

我正在开发一个 Node.js 项目,它运行良好(周五下午 3 点左右)。我今天早上打开了同一个项目,chrome 的调试器不再与我的 node --inspect 命令一起工作。

node --inspect server.js
Run Code Online (Sandbox Code Playgroud)

它告诉我它创建了一个可以连接的网络套接字。我可以使用 chrome 的标准 ws url 手动连接此 websocket:

chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/{{YOUR_KEY}}
Run Code Online (Sandbox Code Playgroud)

但这意味着我在重新加载应用程序时无法连接。chrome://inspect#devices页面上也没有显示

我正在运行最新版本的节点(10.15)。我已经在金丝雀和铬浏览器上对此进行了测试。Canary 也有同样的问题,但在 chromium 上似乎工作得很好。

Chrome 发布了新的更新吗?我该如何解决这个问题并打开我的调试器!?

编辑

我现在可以打开节点开发工具,但它没有响应我的代码。看起来它正在尝试连接,但随后失败并尝试再次重新连接。开发工具还每秒左右与我的 Express 应用程序创建一个会话。chromium 方式仅适用于单个应用程序,并且 websocket 不会重新连接,这意味着每次更改代码时我都必须打开我的应用程序。

google-chrome node.js google-chrome-devtools node-inspector chrome-canary

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

拆分和合并功能或替换功能

我很好奇的夹心函数在JavaScript中更快,我无法找到解决这个问题的方法。让我们接受一个简单的字符串,并用下划线替换所有空格。

let string = 'Hello World';
let newString = string.split(' ').join('_');
//newString: Hello_World
Run Code Online (Sandbox Code Playgroud)

解决此问题的另一种方法是replace函数:

let string = 'Hello World';
let newString = string.replace(/ /g,"_");
//newString: Hello_World
Run Code Online (Sandbox Code Playgroud)

两种方式(我认为)都可以阅读。我想知道这种方式(2018年5月)会更快。我找到了一些答案,但是这些答案已经过时了,我想知道它们是否提高了新型浏览器的性能。

javascript

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