我正在开发一个 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
我很好奇的夹心函数在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月)会更快。我找到了一些答案,但是这些答案已经过时了,我想知道它们是否提高了新型浏览器的性能。