簡體   English   中英

創建 NPM 模塊,其中所有函數都可以訪問已初始化的變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM