У меня есть следующий 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>
Почему это работает во втором случае, а не в первом?