为什么我不能从另一个文件访问变量?
Why can't I access variables from another file?
在我的项目中,我使用 WebPackEncore 来管理我的库。
在一个文件中,我重新组合了访问 API 所需的所有密钥,它被称为 keys.js:
const keys = {
//> Algolia/places API
ALGOLIA_PLACE_APP_ID: "appKey",
ALGOLIA_PLACE_API_ID: "APIkey",
//###< Algolia/places API
//> MapBox API
MAPBOX_TOKEN: "mapBoxToken",
//< MapBox API
}
在我的 app.js 文件中,我尝试使用这些键:
import keys from './keys';
//do stuff
如果我尝试在我的 app.js 文件中使用 console.log(keys)
,我会得到一个 {}
,这使它完全没用。
这是正常行为吗?我错过了范围问题?插入密钥的方式不好吗(我尝试重现 .env 文件的行为)?
您没有从 keys.js
导出变量。像这样尝试..
export default keys = {
//> Algolia/places API
ALGOLIA_PLACE_APP_ID: "appKey",
ALGOLIA_PLACE_API_ID: "APIkey",
//###< Algolia/places API
//> MapBox API
MAPBOX_TOKEN: "mapBoxToken",
//< MapBox API
}
Kelly Copley 的回答是好的,但前提是您要默认导出 keys
。如果您希望以模块化方式导出 keys
,请像这样尝试:
export const keys = {
//> Algolia/places API
ALGOLIA_PLACE_APP_ID: "appKey",
ALGOLIA_PLACE_API_ID: "APIkey",
//###< Algolia/places API
//> MapBox API
MAPBOX_TOKEN: "mapBoxToken",
//< MapBox API
}
然后你像这样导入它:
import { keys } from './keys';
在我的项目中,我使用 WebPackEncore 来管理我的库。
在一个文件中,我重新组合了访问 API 所需的所有密钥,它被称为 keys.js:
const keys = {
//> Algolia/places API
ALGOLIA_PLACE_APP_ID: "appKey",
ALGOLIA_PLACE_API_ID: "APIkey",
//###< Algolia/places API
//> MapBox API
MAPBOX_TOKEN: "mapBoxToken",
//< MapBox API
}
在我的 app.js 文件中,我尝试使用这些键:
import keys from './keys';
//do stuff
如果我尝试在我的 app.js 文件中使用 console.log(keys)
,我会得到一个 {}
,这使它完全没用。
这是正常行为吗?我错过了范围问题?插入密钥的方式不好吗(我尝试重现 .env 文件的行为)?
您没有从 keys.js
导出变量。像这样尝试..
export default keys = {
//> Algolia/places API
ALGOLIA_PLACE_APP_ID: "appKey",
ALGOLIA_PLACE_API_ID: "APIkey",
//###< Algolia/places API
//> MapBox API
MAPBOX_TOKEN: "mapBoxToken",
//< MapBox API
}
Kelly Copley 的回答是好的,但前提是您要默认导出 keys
。如果您希望以模块化方式导出 keys
,请像这样尝试:
export const keys = {
//> Algolia/places API
ALGOLIA_PLACE_APP_ID: "appKey",
ALGOLIA_PLACE_API_ID: "APIkey",
//###< Algolia/places API
//> MapBox API
MAPBOX_TOKEN: "mapBoxToken",
//< MapBox API
}
然后你像这样导入它:
import { keys } from './keys';