![](/img/trans.png)
[英]How to stop import of node modules with relative paths in React, VS code
[英]In VS Code How Can I Automatically Import "assert" in a React Node App?
在 Visual Studio Code 中,您可以通過將焦點移動到導入的術語,然后使用“快速修復”功能(對我來說是CTRL +.
)來自動導入大部分內容。 然后,您將獲得一個選項,讓 VS Code 為您將術語導入添加到文件頂部……除非術語是assert
。
(注意:我相信你需要在你的jsconfig.js
中有"checkJs": true
才能工作......或者使用 Typescript。)
奇怪的是,“斷言”模塊是可用的,作為 Node 本身的一部分! 似乎 VS Code 只是不知道它可用,而且我不確定如何讓它知道。
有什么方法(例如 VS 代碼設置、 jsconfig.json
選項等)可以讓它在自動導入時識別assert
模塊的存在?
我認為這是一個錯誤,它應該適用於所有內置模塊。
詳細說明何時有效,何時無效。
它可以建議以一種奇怪的方式導入斷言。
我有一個簡單的 JavaScript 項目,帶有jsconfig.json
文件
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"checkJs": true
},
"exclude": ["node_modules"]
}
正如您提到的"checkJs": true
對於獲得所需的 CodeAction (QuickFix) 選項至關重要。
或者您可以在.js
文件中添加為第一行
//@ts-check
我的app.js
文件很簡單
assert(5 > 7, "Always False");
我收到紅色波浪線,但快速修復列表中沒有導入建議。
如果我為內置模塊添加任何require
語句,我會在快速修復列表中獲得導入建議( import 'assert' from module "console"
import 'assert' from module "assert"
)
var zlib = require('zlib');
assert(5 > 7, "Always False");
如果我選擇我得到的進口商品之一
var zlib = require('zlib');
const assert = require('assert');
assert(5 > 7, "Always False");
並在 Node.js 中運行腳本會按預期拋出斷言。
Debugger attached.
Waiting for the debugger to disconnect...
assert.js:374
throw err;
^
AssertionError [ERR_ASSERTION]: Always False
[snip....]
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '=='
}
Process exited with code 1
如果我有一個app.js
var gzip = zlib.createGzip();
我無法快速修復導入 zlib。
自己添加導入使腳本運行。
var zlib = require('zlib');
var gzip = zlib.createGzip();
我想知道哪些模塊可以生成快速修復建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.