簡體   English   中英

什么是jsconfig.json?

[英]What is jsconfig.json?

如果我在 Internet 上搜索相同的問題,那么我只會得到指向 Visual Studio Code 網站和一些實現它的博客的鏈接。

我想知道jsconfig.json是特定於 Visual Studio Code 還是javascript/webpack

如果我們將應用程序部署在AWSHeroku等上會發生什么。我們必須做出改變嗎?

它是一個輔助您的文本編輯器的配置文件。 您的文本編輯器的語言服務器協議(LSP) 會查看此文件以了解有關您的項目的更多信息。

雖然這似乎源自 Visual Studio Code,但任何使用 LSP 的編輯器都將使用文件jsconfig.json ,包括 Visual Studio Code、 Sublime Text等。

它最常用於在您的智能感知中包含/排除文件夾(現在大多數編輯器都使用 LSP),並且在您的源代碼中將 map 別名為某些文件夾。

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "$libs": ["src/libs"],
      "$libs/*": ["src/libs/*"],
    }
  },
  "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"],
  "exclude": ["node_modules", "**/node_modules", "dist"]
}

該文件基本上告訴語言服務器:

基本網址

使用. 作為項目根目錄的位置(文件jsconfig.json所在的位置)。

路徑

這意味着源代碼中的$libs指向/src/libs 如果您的編輯器依賴 LSP 來定位文件,這將非常有用。 當您啟動go 歸檔時,它將 go 到正確的位置。

包括

這意味着包含以這些擴展名結尾的所有文件夾和文件,以便為您提供文件搜索和代碼完成。

排除

這意味着排除node_modulesdist文件夾中的所有內容。 例如,當您搜索符號或變量時,您不希望已編譯的包出現在搜索結果中。

評論

換句話說,您可以考慮jsconfig.json文件有點像.gitignore文件,但僅供編輯器的語言服務器使用。

但請記住,如果您要使用jsconfig.json到 map 別名,則需要對模塊捆綁器進行額外配置,並更新您的eslint配置,也就是說,如果您使用ESLint

例如,在Node.js / CommonJS環境中,您需要告訴您的 Node.js $libs是什么。 有很多方法可以做到這一點,但現在人們大多使用module-alias

這絕對是 Visual Studio Code 特有的。

目錄中存在 jsconfig.json 文件表明該目錄是 JavaScript 項目的根目錄。 jsconfig.json 文件指定 JavaScript 語言服務提供的功能的根文件和選項。

jsconfig.json中查看更多詳細信息。

在 AWS 或 Heroku 上部署時不需要此文件。 基本上,如果您使用的是 Git 存儲庫,則可以將其從提交中排除,即在您的.gitignore文件中添加jsconfig.json 這將使您的項目獨立於 IDE。

正如其他答案所指出的,該協議源自 Visual Studio Code - 但已被許多框架采用以在編譯時工作:

前端

支持jsconfig.jsontsconfig.json的前端框架:

后端

后端 Node.js 支持jsconfig.json / tsconfig.json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM