Автозаполнение кода VS для свойств объекта - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть следующий env.js JS-файл:

const env = {
    ENV: process.env.NODE_ENV,
    DEBUG:
        (process.env.REACT_APP_DEBUG == 1 ||
        process.env.REACT_APP_DEBUG === "true"),
    PUBLIC_URL: process.env.PUBLIC_URL
};

export default env;

Когда я импортирую его в другой файл и пытаюсь сослаться на одно из свойств объекта env:

import env from "./env";

const DEBUG = env.<I start typing and I do not see any autocomplete for ENV, DEBUG or PUBLIC_URL>

*Код 1008 * VS не выполняет автозаполнение свойств объекта env. Почему он этого не делает и как я могу это исправить, чтобы в этом случае работало автозаполнение?

Вот содержимое моего tsconfig.json

{
    "compilerOptions": {
        // No module system, concatenated file
        "module": "none",

        // Set React as the JSX factory
        "jsx": "react",

        // Resolve modules using Node-resolution algorithm
        "moduleResolution": "node",

        // Target ES6 for more modern browsers
        "target": "es6",

        // Include typings from built-in lib declarations
        "lib": ["es2015", "dom", "dom.iterable"],

        // Include module source maps for debugging
        "sourceMap": true,

        // Output to single concatenated file
        "outFile": "dist/bundle.js",

        "allowJs": true,
        "allowSyntheticDefaultImports": true
    },
    "include": ["src"],
    "exclude": ["node_modules"]
}

Я также заметилчто если я изменю env.js на:

export default {
    ENV: process.env.NODE_ENV,
    DEBUG:
        (process.env.REACT_APP_DEBUG == 1 ||
        process.env.REACT_APP_DEBUG === "true"),
    PUBLIC_URL: process.env.PUBLIC_URL
}

, тогда автозаполнение будет работать:

import env from "./env";

const DEBUG = env.<I start typing and I see the autocomplete for ENV, DEBUG or PUBLIC_URL>

Почему это работает во втором случае, а не в первом?

...