[英]Create NPM Module where all Functions can Access Initialized variables
我想創建一個 NPM 模塊,該模塊將有一個 initialize() 函數,該函數首先運行以初始化一些要在調用主要模塊函數時使用的變量。
我的結構如下所示。
📄index.js
📂func文件夾
. . . . .|📄 getFunctions.js
索引.js
import axios from "axios";
let API_KEY = "";
let BASE_URL = "";
let isReady = false;
async function initialize(apiKey) {
API_KEY = apiKey;
let results = await axios.get(
`https://api.themoviedb.org/3/configuration?api_key=${API_KEY}`
);
BASE_URL = results.data.images.base_url;
console.log(results);
isReady = true;
}
function showConfig() {
console.log("Base_URL", BASE_URL);
}
export * from "./getFunctions";
export { Init, showConfig, isReady, getFuncs };
getFunctions.js 文件中有一個函數,我想訪問調用 initialize() 時初始化的變量。
/funcFolder/getFunctions.js
import axios from "axios";
function getMovie(title) {
return axios
.get(
`https://api.themoviedb.org/3/search/movie?query=${title}&api_key=${API_KEY}`
)
.then(res => {
console.log(res);
return res;
});
}
export { getMovie };
我希望我已經描述得足夠好讓每個人都能理解,但如果沒有,請告訴我需要澄清的內容。
發布這篇文章后,我意識到我可以簡單地導出我想要跨文件共享的變量,然后將它們導入到需要它們的文件中。
所以對於 index.js 文件
import axios from "axios";
export let API_KEY = "";
export let BASE_URL = "";
export let isReady = false;
async function initialize(apiKey) {
...
};
export * from "./getFunctions";
export { Init, showConfig, isReady, getFuncs };
然后在需要這些變量的任何文件中,我可以簡單地導入它們。
import axios from "axios";
import { API_KEY } from "../index';
function getMovie(title) {
...
}
export { getMovie };
對任何其他想法也持開放態度!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.