小编Arn*_*rat的帖子

VSCodeVim:如何获得与 VIM 中的工作方式相同的 CTRL+P / CTRL+N 非 IntelliSense 完成?

我的 VSCodeVim 设置中缺少的主要内容是在插入模式下Ctrl+PCtrl+简单单词完成。N我在谷歌上广泛搜索了如何设置它,但发现在ms-vscode.cpptools启用扩展时没有任何东西能按照我预期的方式工作。

我不希望 IntelliSense 干扰此完成,我只想在任何上下文(例如,注释、字符串等)中工作的简单单词完成。这是一个例子:

int a_very_long_variable_name;

// a_ve
Run Code Online (Sandbox Code Playgroud)

当我输入a_ve评论时,Ctrl+P应该建议a_very_long_variable_name(以及文档中以 开头的任何其他单词a_ve)。Ctrl+N应该做同样的事情,除了建议的排序应该与Ctrl+不同,P因为Ctrl+N开始在光标之后而不是之前寻找匹配的单词。

是否可以使用 VSCodeVim 在 VSCode 中获得此行为?启用后ms-vscode.cpptools,我在编辑评论时根本不会收到建议,即使我的设置中有此功能:

    "editor.quickSuggestions": {
        "comments": true
    }
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscodevim

20
推荐指数
0
解决办法
2774
查看次数

如何修复“ERR_REQUIRE_ESM”错误?

我正在尝试使用 chalk npm。我的代码是:

     const chalk = require('chalk');

          console.log(
          chalk.green('All sytems go') +
          chalk.orange('until').underline +
          chalk.black(chalk.bgRed('an error occurred'))
           );
Run Code Online (Sandbox Code Playgroud)

当我输入 node main.js 时,我在终端中收到此错误

Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/ezell/Documents/CodeX/NPM/node_modules/chalk/source/index.js from /Users/ezell/Documents/CodeX/NPM/main.js not supported.
Instead change the require of index.js in /Users/ezell/Documents/CodeX/NPM/main.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/Users/ezell/Documents/CodeX/NPM/main.js:1:15) {
  code: 'ERR_REQUIRE_ESM'
}
Run Code Online (Sandbox Code Playgroud)

node.js npm chalk

12
推荐指数
3
解决办法
6万
查看次数

无法理解 JS 中这个 for 循环的输出

我已经明白为什么这段代码的输出应该是3 3 3.

for (var i = 0; i < 3; i++) {
  setTimeout(() => console.log(i), 1);
}
Run Code Online (Sandbox Code Playgroud)

但我无法理解为什么这段代码的输出是0 1 2.

for (let i = 0; i < 3; i++) {
  setTimeout(() => console.log(i), 1);
}
Run Code Online (Sandbox Code Playgroud)

我希望第二个循环的输出更加清晰for

javascript for-loop var let settimeout

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

如何在 Vite 开发服务器中填充“process”Node 模块?

在我的 Vite 项目中,我依赖于一个process在其功能之一中使用 Node 全局的模块。我没有从我的代码中调用这个函数,但是当我导入模块时,Vite 开发服务器仍然给我这个错误:

Uncaught ReferenceError: process is not defined
Run Code Online (Sandbox Code Playgroud)

有趣的是,当我创建生产版本时,我没有看到此错误。

如何process使用 no-op 进行 polyfill 以使 Vite 开发服务器停止失败?

javascript node.js polyfills vite

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

普通 javascript/HTML 中的空导出 {} 是什么意思

在 Google Maps Javascript API 示例中,我看到 HTML 中有类似这样的内容:

<script type="module" src="./index.ts"></script>
Run Code Online (Sandbox Code Playgroud)

以及 TS/JS 脚本末尾的空导出语句。

let map;
function initMap() {
    map = new google.maps.Map(document.getElementById("map"), {
        center: { lat: -34.397, lng: 150.644 },
        zoom: 8,
    });
}
window.initMap = initMap;
export {};
Run Code Online (Sandbox Code Playgroud)

我在 MDN 上没有看到任何示例或提到空导出,所以我想知道是否有人知道它是如何工作的。如果导出为空,脚本如何知道运行它。

html javascript typescript

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

VS Code 中的终端模糊

为什么终端中的文字模糊?

我已经使用Visual Studio Code几个月了,但由于某种原因,它变得模糊。我唯一真正改变的是主题。我把它设置为默认值,但它仍然模糊。为什么会出现这种情况?

visual-studio-code

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

尝试更改按钮的值

我试图在单击按钮时更改按钮的值,因此我在 JavaScript 中创建了一个函数,在其中通过获取按钮的 ID 并尝试style.backImage更改它来调用元素的 ID。

但它显示了这个错误:

Uncaught TypeError: Cannot set properties of null (setting 'value')
Run Code Online (Sandbox Code Playgroud)

这是按钮的代码:

<button id="id1" style="margin: 17px;" onclick="mark()"> . </button>
Run Code Online (Sandbox Code Playgroud)

JavaScript 函数如下:

function mark(){
  document.getElementById(id1).style.backgroundImage = "url('cruz.webp')";
}
Run Code Online (Sandbox Code Playgroud)

我尝试过将 JavaScript 文档从 HTML 的头部移动到正文,但没有取得任何效果。

我知道这一定很简单,但我感谢您的帮助。

html javascript css

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

如何对空格和单词“and”进行 URL 编码?

我需要对以下字符进行 URL 编码。

钥匙 编码
Space %20
(字面意思) %26

为此,我提出了以下代码。 (我需要使用,var因为我的目标是较旧的浏览器。)

var word = "Windows and Mac"; // This can be anything

word = word.split(" ").join("%20");
word = word.split("and").join("%26");
Run Code Online (Sandbox Code Playgroud)

但是,此代码存在一些问题。

  • 这不是最好的解决方案,很可能有更好的解决方案。
  • and区分大小写(这意味着我不能输入“ AND 、“ aNd ”等)。

还有其他方法可以满足这些要求吗?它还需要在较旧的浏览器(如 IE)上运行。

javascript urlencode

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

如果设置为接口属性,() 意味着什么?

在Vue.js源代码(packages/reactivity/src/effects.ts)中,我发现了这一点:

export interface ReactiveEffectRunner<T = any> {
  (): T
  effect: ReactiveEffect
}
Run Code Online (Sandbox Code Playgroud)

()代码中的意思是什么?

javascript typescript vue.js vuejs2

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

npm uninstall 在 Mac 终端中不起作用

我已经使用安装了节点版本 14 npm install -g node@14。现在我尝试了以下命令来卸载节点版本 14,但它不起作用。

命令:

$ node -v
v14.19.0

$ npm unisntall node@14
npm WARN saveError ENOENT: no such file or directory, open '/Users/*****/package.json
npm WARN enoent ENOENT: no such file or directory, open '/Users/*****/package.json
npm WARN ***** No description
npm WARN ***** No repository field
npm WARN ***** No README data
npm WARN ***** No license field

up to date in 0.105s

$ node -v
v14.19.0

$ npm uninstall -g node
up to date in …
Run Code Online (Sandbox Code Playgroud)

node.js npm nvm npm-install

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

为什么我的函数返回 Promise { &lt;pending&gt; }

作为我的第一个真正的 MERN 项目,我正在构建一个留言板。我目前正在开发一个节点路由来请求板名称及其相关的帖子数,但我遇到了一个问题。我没有得到我需要的值,而是收到信息告诉我有一个待处理的承诺,这看起来很奇怪,因为我正在使用 async/await。这是函数:

exports.postsPerBoard = async (req, res) => {
  try {
    const boards = await Board.find();

    const postCount = boards.map(async (boardI) => {
      const posts = await Post.find({ board: boardI.slug });
      return [boardI.slug, posts.length];
    });
    console.log(postCount);
    res.send(postCount);
  } catch (err) {
    console.error(err.message);
    res.status(500).send('server error');
  }
};
Run Code Online (Sandbox Code Playgroud)

这是控制台日志的结果:

[0] [
[0]   Promise { <pending> },
[0]   Promise { <pending> },
[0]   Promise { <pending> },
[0]   Promise { <pending> },
[0]   Promise { <pending> }
[0] ]
Run Code Online (Sandbox Code Playgroud)

javascript mongoose node.js promise

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