VSCODE checkJs не находит модули - PullRequest
4 голосов
/ 13 июня 2019

У меня очень простой проект «Реагирующий материал-пользовательский интерфейс».

Я недавно добавил jsconfig.json в папку верхнего уровня

{
    "compilerOptions": {
        "target": "es6",
        "checkJs": true,
        "jsx": "react"
    },
    "exclude": [
        "node_modules",
        "data",
        "docs",
        ".cache",
        "dist"
    ]
}

, которая работает нормально.Но есть несколько ошибок, которые VSCode находит, которые я хотел бы удалить:

Не удается найти модуль'@material-ui/core/Button'.

Не удается найти модуль '@ material-ui / core / styles '.

Не удается найти модуль' easy-peasy '.

Импорт работает нормально, но я не просто отключаю ts-check.Все эти импортные файлы находятся в дереве ./node-modules (включая easy-peasy).

(Кстати, весь код JavaScript, а не TS).

import { action, createStore, StoreProvider, useStore, useActions, thunk } from 'easy-peasy';
import Button from '@material-ui/core/Button';
import { withStyles } from '@material-ui/core/styles';
import Grid from '@material-ui/core/Grid';
import TextField from '@material-ui/core/TextField';

Ответы [ 2 ]

2 голосов
/ 26 июня 2019

Возможно, вам нужно установить "module": "commonjs"

Вот как я это делаю:

jsconfig.json

{
  "compilerOptions": {
      "baseUrl": ".",
      "target": "es6",
      "module": "commonjs",
      "paths": {
        "@components/*": ["./src/components/*"],
        "@constants/*": ["./src/constants/*"],
        "@helpers/*": ["./src/helpers/*"]
      }
  },
  "include": [
    "src/**/*"
  ]

См.ответ, который я получил по моей проблеме с Github Vscode

Да, если вы импортируете модули из node_modules, вам обычно нужно установить "module": "commonjs" ("moduleResolution": "node" также следуетработа я считаю).commonjs является настройкой по умолчанию, но "target": "es6" переопределяет ее, чтобы использовать "module": "es6", если вы явно не укажете другую "module" настройку

Параметры модуля описаны здесь немного подробнее: Понимание"target" и "module" в tsconfig

0 голосов
/ 26 июня 2019

Цитата

Настройки VSCODE

Перейдите на File -> Preferences -> Settings или on Mac Code -> Preferences -> Settings Выберите вкладку настроек рабочей области Добавьте этот код в *Файл 1011 *, отображаемый справа:

// Поместите ваши настройки в этот файл, чтобы перезаписать настройки по умолчанию и пользовательские настройки.

{
    "files.exclude": {
        "**/.git": true,         // this is a default value
        "**/.DS_Store": true,    // this is a default value

        "**/node_modules": true, // this excludes all folders 
                                 // named "node_modules" from 
                                 // the explore tree

        // alternative version
        "node_modules": true    // this excludes the folder 
                                // only from the root of
                                // your workspace 
    }
}

If you chose File -> Preferences -> User Settings

, затем вы настраиваете папки исключения глобально для вашего текущего пользователя.

...