טעינת סיסמאות ב-nodejs נכשלת
-
בהתחלה הוספתי ל
()dotenv.config
מצב דיבוג, ולפי הבנתי השגיאה הייתה שהריצה בוצעה בתיקיית האב, הוספתי נתיב לקובץ מתיקיית האב וקבלתיFailed to load ./שם התיקיה/.env ENOENT: no such file or directory, open
. בהרצה האחרונה קבלתי רק את השגיאה שהוגדרה בקוד.
מקווה שהתקדמתי במשהו.. -
זה הקוד שטוען את הסיסמה
class Client { wikiUrl; #cookie = ""; userName = process.env.USER || ""; #password = process.env.PASSWORD || ""; isLogedIn = false; /** * * @param {String} wikiUrl */ constructor(wikiUrl) { if (!wikiUrl) { throw new Error("you didn't pass the url of your wiki"); } this.wikiUrl = wikiUrl; } async #postWiki(body) { return fetch(this.wikiUrl, { headers: { "content-type": "application/x-www-form-urlencoded; charset=UTF-8", "user-agent": "node-fetch mw-api-node-client", cookie: this.#cookie, }, method: "POST", credentials: "include", body: new URLSearchParams({ format: "json", utf8: 1, ...body }), }); } async getWikiWithCookie(queryString) { if (!this.isLogedIn) { await this.login(); } return fetch(`${this.wikiUrl}?${queryString}`, { headers: { cookie: this.#cookie }, }); } /** * method to login the user and get a cookie for forther operations * @param {String} [userName] * @param {String} [password] * @returns {Promise<Boolean>} */ async login(userName, password) { if (userName) { this.userName = userName; } if (password) { this.#password = password; } if (!this.userName && !this.#password) { throw new Error("you dinwt pass your user name or your password"); }
אני טוען אותו דרך קובץ נוסף (ז"א שמתווך בין הקובץ שאני מריץ לקובץ הזה), כרגע אני מקבל את אובייקט השגיאה שהוגדר.
כל הקבצים באותה תיקיה.
זה בראש הקובץ הראשון (שטוען את הסיסמה):import dotenv from "dotenv"; dotenv.config({path: 'C:/Tachnot/mw-bot-master copy/.env', debug: true});
-
אתה בטוח שבקובץ C:/Tachnot/mw-bot-master copy/.env יש שורה עם PASSWORD=XXX?
כמו"כ אם אתה יכול להביא את הקוד שטוען את הPASSWORD מתוך הenv, זה בעצם העיקר.@אלישי + @משתמש-תמים אני לא יודע למה החלטתם שהבעיה זה רווח, ממתי רווח מפריע בנתיב מוקף מרכאות?
אצלי בכל אופן עובד: