繁体   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