Gatsby: لم يتم تعريف النافذة

تم إنشاؤها على ٢ يونيو ٢٠١٦  ·  38تعليقات  ·  مصدر: gatsbyjs/gatsby

أحاول استخدام استيراد واجهة المستخدم الدلالية مع المكونات الخاصة بي.

يعمل بشكل جيد في التطوير ولكن إذا حاولت الحصول على gatsby build ، فسأحصل على Error: ReferenceError: window is not defined .

أنا أقوم بفعل هذا:

import $ from 'jquery';
$.fn.transition = require('semantic-ui-transition');
$.fn.dropdown = require('semantic-ui-dropdown');

هل هناك أي عمل في الأرجاء؟

تحرير: تمت إدارتها لجعلها تعمل مع:

try {
  $.fn.sidebar = require('semantic-ui-sidebar');
} catch (e) {
  console.log(e)
}

التعليق الأكثر فائدة

هذا مشغول! شكرا.

نصيحة: ضع typeof window !== 'undefined' && window.whaterver-you-need لحل هذه المشكلة.

ال 38 كومينتر

نعم ، أثناء التطوير ، لا يتم تشغيل مكونات التفاعل إلا في المتصفح حيث يتم تحديد window . عند البناء ، يعرض Gatsby هذه المكونات على الخادم حيث لم يتم تعريف window . بشكل عام مع React ، يكون الحل لهذا هو الوصول فقط إلى window في componentDidMount أو التحقق من وجود window قبل الوصول إليه. بالنسبة لمكتبات الجهات الخارجية التي لا تفعل ذلك ، يبدو ما فعلته رائعًا.

KyleAMathews يبدو أنه لا يمكنني الحصول على componentDidMount لإطلاقه في html.js أو _template.jsx باستخدام gatsby develop ، ربما ليس من المفترض أن أقوم بذلك ، أو أفعل ذلك هل هناك خطب ما؟

hitchcott ، هل يمكنك مشاركة المزيد حول جهازك؟ لقد قمت للتو بتثبيت واجهة المستخدم الدلالية في مشروع gatsby لكن CSS الخاص بي لا يعمل. لست متأكدًا من كيفية تحميل CSS في صفحتي. افترض أن React هي الأنماط المضمنة صحيحة ، ولكن كيف تعرف عنها؟ أفترض أيضًا أنني يجب أن أقوم بتهيئة webpack للقيام بالبناء الأقل بدلاً من gulp. هل قمت للتو بتثبيت webpack-lessloader؟

Maxhodges - إنها Webpack ، وليس React ، التي "تعرف" أنماطك. يعرف Webpack لأنك تستورد أو تطلب الملف (الملفات) المترجمة في مكان ما في ملفات JS التي يتم تجميعها.

على سبيل المثال ، أقوم باستيراد styles.css الرئيسي الخاص بي في ملف _template.js ، لذلك عندما يقوم Webpack بإنشاء الحزمة ، فإنه يتضمن تلك الأنماط - المضمنة عندما تكون في وضع التطوير ؛ ملف مرجعي خارجي أثناء الإنتاج ( انظر إلى cssLink هنا للحصول على مثال ).

ليست هناك حاجة إلى أداة تحميل LESS إضافية ، حيث أن Gatsby يتضمن بالفعل واحدًا في تكوين Webpack الافتراضي الخاص به.

لأولئك منكم الذين اتبعوا الإرشادات الموجودة على صفحة Gatsby GitHub لتثبيت موقع المستندات ...
import { colors } from 'utils/colors'
هو صانع المشاكل وبعد التعليق على هذا و $ {colors.bg} تم تطوير الموقع بشكل جيد.

هل سيكون من الممكن إظهار رسالة خطأ أفضل عندما يحدث هذا؟ ليس لدي فكرة أين أجد الخطأ.

Failed at generating HTML

/home/projects/snipsonian/node_modules/gatsby/dist/bin/cli.js:42
      throw err;
      ^
Error: ReferenceError: window is not defined
    at Object.defineProperty.value (render-page.js:44529:79)
    at __webpack_require__ (render-page.js:30:30)
    at Object.exports.__esModule (render-page.js:42560:24)
    at __webpack_require__ (render-page.js:30:30)
    at Object.defineProperty.value (render-page.js:42533:51)
    at __webpack_require__ (render-page.js:30:30)
    at Object.<anonymous> (render-page.js:80:19)
    at __webpack_require__ (render-page.js:30:30)
    at Object.assign.i (render-page.js:50:18)
    at render-page.js:53:10
error Command failed with exit code 1.

هذه فعلأ فكرة جيدة! الضغط حاليا بقوة على 1.0 لذلك لن تحصل على هذا
قريبًا ولكن في الوقت الحالي ، ما عليك سوى فتح public / render-page.js على رقم السطر
أشار هناك (44529) وانظر ما هو الرمز الذي يسبب المتاعب.

يوم الأربعاء 17 مايو 2017 الساعة 11:45 صباحًا Thomas Seberechts [email protected]
كتب:

هل سيكون من الممكن إظهار رسالة خطأ أفضل عندما يحدث هذا؟ أنا
ليس لدي أي فكرة عن مكان العثور على الخطأ.

فشل في إنشاء HTML

/home/projects/snipsonian/node_modules/gatsby/dist/bin/cli.js:42
رمي يخطئ
^
خطأ: ReferenceError: لم يتم تعريف النافذة
في Object.defineProperty.value (render-page.js: 44529: 79)
في __webpack_require__ (render-page.js: 30: 30)
في Object.exports .__ esModule (render-page.js: 42560: 24)
في __webpack_require__ (render-page.js: 30: 30)
في Object.defineProperty.value (render-page.js: 42533: 51)
في __webpack_require__ (render-page.js: 30: 30)
في الكائن.(render-page.js: 80: 19)
في __webpack_require__ (render-page.js: 30: 30)
في Object.assign.i (render-page.js: 50: 18)
في render-page.js: 53: 10
خطأ فشل الأمر مع رمز الخروج 1.

-
أنت تتلقى هذا لأنه تم ذكرك.

قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/gatsbyjs/gatsby/issues/309#issuecomment-302041105 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AAEVh6E9bZyyi0iX-Q7Q92VTvEb1DZbmks5r6sHGgaJpZM4Isiea
.

هذا مشغول! شكرا.

نصيحة: ضع typeof window !== 'undefined' && window.whaterver-you-need لحل هذه المشكلة.

اختفى الخطأ عند استخدام componetDidMount

لدي مشكلة مماثلة ، لكني أستخدم localStorage لاستمرار بعض حالة إعادة الإرسال الخاصة بي على المتصفح. كيف يمكنني تجاوز هذه المشكلة إذا لم أتمكن من استخدام window.localStorage في ملف store.js؟

😢

شكرا!

تضمين التغريدة

const windowGlobal = typeof window !== 'undefined' && window

ثم ، windowGlobal.localStorage

لقد نجح هذا ، لكن كان علي أن أسخر من التخزين المحلي باستخدام https://www.npmjs.com/package/localstorage-memory :

const windowGlobal = typeof window !== 'undefined' && window;
const localAdapter = windowGlobal ?
  adapter(windowGlobal.localStorage) :
  adapter(memoryStorage)
;

باستخدام https://www.npmjs.com/package/redux-localstorage.

الوصول فقط إلى window componentDidMount

Gist للغير js.

// index.js
import React from "react";
import Link from "gatsby-link";

// import "uikit/dist/js/uikit";
// Third party JS access `window` without
// `typeof window !== "undefined"` check

class Template extends React.Component {
  componentDidMount() {
    import("uikit/dist/js/uikit")
      .then((uikit) => {
        this.uikit = uikit;
      })
      .catch((error) => console.error(error));
  }
  render() {
    // ...
  }
}

// ...

CallMeLaNN اقتراح يعمل بالنسبة لي. مع UIkit ، أحصل على:

WebpackError: لم يتم تعريف العنصر

عمل وضع الواردات داخل componentDidMount.

 componentDidMount() {
    try {
      this.UIkit = require("uikit/dist/js/uikit");
      this.Icons = require("uikit/dist/js/uikit-icons");
      this.UIkit.use(this.Icons);
    } catch (e) {
      console.error(e);
    }
  }

نعم ، أثناء التطوير ، لا يتم تشغيل مكونات التفاعل إلا في المتصفح حيث يتم تحديد النافذة. عند البناء ، يعرض Gatsby هذه المكونات على الخادم حيث لا يتم تحديد النافذة. بشكل عام مع React ، يكون الحل لهذا هو نافذة الوصول فقط في componentDidMount أو للتحقق من وجود هذه النافذة قبل الوصول إليها. بالنسبة لمكتبات الجهات الخارجية التي لا تفعل ذلك ، يبدو ما فعلته رائعًا.

سيكون من المفيد جدًا إظهار هذا مبكرًا / بارزًا. أحاول البناء للمرة الأولى ، وهناك العديد من المشكلات التي يتعين علي إصلاحها الآن ، لأنني لم أكن أدرك أن هذا سيصبح مشكلة. إنه أمر مرهق بشكل خاص لأنني في حاجة ماسة لنشر هذا ؛ أنا أقدم اقتراحًا لشيء ما ، وأريد أن يكون الموقع على الإنترنت.

أنا أتطلع فقط إلى النشر في Github Pages (في الوقت الحالي على الأقل) ، ولذا فأنا لست بحاجة إلى SSR. هل هناك طريقة للبناء فقط للعملاء؟

يبدو أنه مع Gatsby v2 ، تحتاج إلى الاختيار بين عمليات الاستيراد es6 و Commonjs ، فلن تتمكن من مزجها بعد الآن لأسباب تتعلق بـ webpack 4.

في هذه الحالة ، وبافتراض أنك تستخدم بالفعل واردات es6 ، يبدو أن حل @ jfaeldon هو الحل المستخدم هنا ولن يعمل @ hitchcott بعد الآن.

هل يمكن لأحد أن يؤكد ذلك؟

أتفق معك joshwcomeau تمامًا ، كما أنني لا أعتقد أنه من الجيد تشغيل dev في المتصفح فقط وإنشاء node.js. الفرق كبير جدًا ، وكما هو الحال في بيئة DEV و PROD ، فأنت تريد أن تجعل البيئات متشابهة قدر الإمكان ، أعتقد أن gatsby يجب أن يفعل الشيء نفسه ، وأن يقوم بتشغيل كل من dev والبناء في بيئة مشابهة قدر الإمكان.

هل يمكنني تشغيله في المتصفح؟ لست بحاجة إلى SSR.

أهلا،
أواجه نفس المشكلة هنا ، يعمل Coverflow بشكل جيد مع تطوير gatsby ولكن من أجل إنشائه ، ألقى خطأ:
WebpackError: لم يتم تعريف النافذة

     - react-coverflow.js:1 Object.<anonymous>
       ~/react-coverflow/dist/react-coverflow.js:1:330

     - main.js:1 Object.<anonymous>
       ~/react-coverflow/main.js:1:1

استيراد تدفق الغطاء من "تدفق الغلاف المتفاعل" ؛
استيراد {StyleRoot} من "radium"

يقوم فريق الفصل بتوسيع React.Component {

يقدم - يجعل(){
إرجاع(

displayQuantityOfSide = {2}
التنقل
التدرج اللانهائي
تمكين
نشط = {0}
الوسائط = {{
" media (أقصى عرض: 720 بكسل)": {
العرض: 100٪ ،
الارتفاع: 200 بكسل
} ،
" media (الحد الأدنى للعرض: 720 بكسل)": {
العرض: 100٪ ،
الارتفاع: 400 بكسل ،
}
}}
>
Chairperson
Deputy Chairperson
General Secretary
Recording Secretary
Treasury
Marketing

  </Coverflow>
</StyleRoot>
)

}
}

تصدير الفريق الافتراضي ؛

لقد تلقيت هذا الخطأ بعد تثبيت بضع حزم ، لذا يجب أن يكون في إحدى الحزم - لكن لا يمكنني العثور على مكان المشكلة. هل لدى أي شخص نصائح حول كيفية التعرف بشكل أفضل على حزمة npm التي قد تكون؟ الخطأ عام بشكل محبط.

ربما يكون تنفيذ رد الفعل أفضل؟
https://react.semantic-ui.com/ و https://github.com/pretzelhands/gatsby-starter-semantic-ui

wmlutz أبسط تفسير يمكنني تقديمه هو أنه عندما تصدر gatsby develop لبناء المشروع الذي تعمل عليه في التطوير ، أو gatsby build && gatsby serve لبناء الإنتاج ، داخليًا سيولد Gatsby الصفحات و css والروابط وما إلى ذلك. ولكن هناك شيء واحد يجب مراعاته وهو أن هذا يتم من جانب الخادم ، ومن جانب العقدة ، وليس من جانب العميل. لذلك لا تستطيع العقدة الوصول إلى تلك واجهات برمجة التطبيقات المحددة ، لأنها مخصصة لاستخدام العميل فقط. ومع ذلك ، لن تعمل بعض الحزم بشكل جيد مع Gatsby خارج الصندوق. قد تكون هناك حاجة لبعض التغييرات لحملهم على "اللعب بشكل جيد"

jonniebigodes - شكرا على ذلك. أعتقد أنني أفهم _لماذا_ الآن. الشيء الآن هو _what_. لقد أنجزت الكثير من العمل بغباء وأواجه مشكلة في عزل الحزمة التي تسبب المشكلة. لا توجد طريقة إلى gatsby build مع بعض تقارير الخطأ الأكثر تفصيلاً؟

jonniebigodes - اكتشفت الحزمة التي تسبب المشكلة: رد فعل الخبز المحمص . مشكلتي التالية هي معرفة كيفية إصلاحها.

_handleSubmit = async (e) => {
    e.preventDefault();
    let {email} = this.state;

    const response = await addToMailchimp(email)
    if (response.result === "success") {
      ToastsStore.success("Successfully joined the list")
    }
    if (response.result === "error") {
      ToastsStore.error("There was an error: " + result.msg)
    }
  }

wmlutz شيء من هذا القبيل كتلة التعليمات البرمجية أدناه. يتم تحميل react بعد استلام الحزمة الثابتة الأولية. لذا بحلول الوقت الذي يصل فيه المستخدم إلى _handleSubmit window سيكون موجودًا.

يرجى ملاحظة أنه إذا كان react toasts يستدعي window على import فربما لا تزال تواجه الخطأ.

_handleSubmit = async (e) => {
    e.preventDefault();
    let {email} = this.state;

    const response = await addToMailchimp(email)
    if (response.result === "success") {
      if (window) ToastsStore.success("Successfully joined the list")
    }
    if (response.result === "error") {
      if (window) ToastsStore.error("There was an error: " + result.msg)
    }
  }

المشكلة نفسها. سأجد مكتبة توست أخرى أو أقوم بعمل مكتبة خاصة بي. لا ينبغي أن تقتلني.

@ joserocha3 هذا الجزء من الكود سيعمل فقط في وضع التطوير. عند إصدار استدعاء لإصدار إنتاج ، سيفشل ذلك أثناء المرحلة error Building static HTML failed . نظرًا لأن Gatsby سيتفحص الواردات ومع هذا البحث عن الحزمة المعنية ، فسوف يفشل لأن هذا واحد يستخدم بعض apis ليس أصليًا لـ node.js و wmlutz ، فإن الكود الخاص بهذه الحزمة واضح جدًا ولا ينبغي أن

أتفق مع jonniebigodes حول تفرع. مصدر الريبو ليس سوى عدد قليل من الملفات. المكالمة المخالفة هي مرجع document في ToastsContainer.tsx .

أو جرب https://github.com/gatsbyjs/gatsby/issues/309#issuecomment -387039877 المذكور أعلاه.

السبب هو كيفية عمل الوضع المتشدد و UMD والتجميع.

ليس هناك حاجة للتشعب إذا كنت تستخدم patch-package .

راجع أيضًا https://github.com/webpack/webpack/issues/6677 والمشكلات المرتبطة.

يعتمد ذلك على الكود tgat الذي تستخدمه وإذا أجروا الفحوصات المناسبة أو استخدموا الهدف umd على الإطلاق وحددوا الأهداف العامة.

مرحبًا يا رفاق ، ما زلت تواجه نفس المشكلة ، لم أستخدم أي وظيفة نافذة في مشروعي ، لكنها لا تزال تلقي نفس الخطأ لماذا أواجه هذا ..؟

1:09:03 ص: بناء جاهز للبدء
11:09:05 ص: إصدار build-image: 9e0f207a27642d0115b1ca97cd5e8cebbe492f63
11:09:05 ص: علامة build-image: v3.3.2
11:09:05 ص: إصدار buildbot: 75cd99f62ada9e21edea53208e8baf0eab85a045
11:09:06 ص: إحضار التبعيات المخزنة مؤقتًا
11:09:06 ص: بدء تنزيل ذاكرة تخزين مؤقت بحجم 194.6 ميجابايت
11:09:07 صباحًا: انتهى تنزيل ذاكرة التخزين المؤقت في 1.636969993 ثانية
11:09:07 صباحًا: البدء في استخراج ذاكرة التخزين المؤقت
11:09:17 صباحًا: تم الانتهاء من استخراج ذاكرة التخزين المؤقت في 9.693656527 ثانية
11:09:17 صباحًا: تم الانتهاء من جلب ذاكرة التخزين المؤقت في 11.478174001 ثانية
11:09:17 ص: البدء في تحضير الريبو للبناء
11:09:17 صباحًا: تحضير Git Reference pull / 21 / head
11:09:18 ص: تم العثور على netlify.toml. تجاوز تكوين الموقع
11:09:18 صباحًا: بدء إنشاء البرنامج النصي
11:09:18 ص: تثبيت التبعيات
11:09:19 ص: بدأت استعادة نسخة العقدة المخبأة
11:09:22 ص: تم الانتهاء من استعادة نسخة العقدة المخبأة
11:09:23 ص: v10.16.0 مثبت بالفعل.
11:09:24 ص: يتم الآن استخدام العقدة v10.16.0 (npm v6.9.0)
11:09:25 صباحًا: محاولة إصدار روبي 2.6.2 ، اقرأ من البيئة
11:09:27 ص: إستخدام نسخة روبي 2.6.2
11:09:27 ص: استخدام الإصدار 5.6 من PHP
11:09:27 صباحًا: بدأت في استعادة وحدات العقد المخزنة مؤقتًا
11:09:27 ص: تم الانتهاء من استعادة وحدات العقد المخزنة مؤقتًا
11:09:27 ص: بدأت استعادة ذاكرة التخزين المؤقت للغزل
11:09:27 ص: تم الانتهاء من استعادة ذاكرة التخزين المؤقت للغزل
11:09:28 صباحًا: تثبيت وحدات NPM باستخدام الإصدار 1.9.4 من Yarn
11:09:29 ص: تثبيت الغزل v1.9.4
11:09:29 ص: حزمة التحذير. json: لا يوجد حقل ترخيص
11:09:29 صباحًا: تم العثور على حزمة التحذير lock.json. يحتوي مشروعك على ملفات قفل تم إنشاؤها بواسطة أدوات أخرى غير Yarn. يُنصح بعدم خلط مديري الحزم لتجنب تناقضات الدقة الناتجة عن ملفات القفل غير المتزامنة. لمسح هذا التحذير ، قم بإزالة package-lock.json.
11:09:29 ص: تحذير [email protected]: لا يوجد حقل ترخيص
11:09:29 صباحًا: [1/4] حل الحزم ...
11:09:31 ص: [2/4] إحضار الحزم ...
11:09:31 ص: (العقدة: 1201) [DEP0005] تحذير الإيقاف: تم إهمال المخزن المؤقت () بسبب مشكلات الأمان وقابلية الاستخدام. الرجاء استخدام أساليب Buffer.alloc () أو Buffer.allocUnsafe () أو Buffer.from () بدلاً من ذلك.
11:10:04 ص: info [email protected]: المنصة "linux" غير متوافقة مع هذه الوحدة.
11:10:04 ص: info "[email protected]" تبعية اختيارية وفشل اختبار التوافق. استبعاده من التثبيت.
11:10:04 ص: [3/4] ربط التبعيات ...
11:10:04 صباحًا: تحذير "gatsby> [email protected]" به تبعية غير صحيحة للأقران "[email protected] || ^ 0.13.0".
11:10:04 صباحًا: تحذير "gatsby> [email protected]" به تبعية غير صحيحة للأقران "graphql^0.10.0 || ^ 0.11.0 || ^ 0.12.0 || ^ 0.13.0".
11:10:04 صباحًا: تحذير "gatsby> [email protected]" به تبعية غير صحيحة للأقران "[email protected]".
11:10:04 صباحًا: تحذير "gatsby-plugin-netlify> [email protected]" به تبعية نظير غير مستوفاة "webpack @> = 4.4.0".
11:10:04 صباحًا: تحذير "gatsby-plugin-sass> [email protected]" به تبعية غير مستوفاة للأقران "webpack^3.0.0 || ^ 4.0.0".
11:10:04 صباحًا: تحذير "> [email protected]" به تبعية نظير غير مستوفاة "webpack^2.0.0 || ^ 3.0.0 || ^ 4.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-auth^2.0.4".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-util^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "[email protected]".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-auth^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-util^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-auth^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-util^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-auth^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-util^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "immutable^3.8.2".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-util^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "رد فعل غير قابل للتغيير proptypes^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-lib-util^2.0.4".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "رد فعل غير قابل للتغيير proptypes^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "[email protected]".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "رد فعل غير قابل للتغيير proptypes^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "رد فعل غير قابل للتغيير proptypes^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "رد فعل غير قابل للتغيير proptypes^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.5".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "رد فعل غير قابل للتغيير proptypes^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "رد فعل غير قابل للتغيير proptypes^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية غير مستوفاة للأقران "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل-emotion^ 9.2.5".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" له تبعية نظير غير مستوفاة "immutable^3.7.6".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "رد فعل غير قابل للتغيير proptypes^2.1.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> [email protected]" به تبعية نظير غير مستوفاة "netlify-cms-ui-default^2.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-date> رد فعل[email protected]" به تبعية غير مستوفاة للأقران "moment @> = 2.16.0".
11:10:04 ص: تحذير "netlify-cms> netlify-cms-widget-markdown> [email protected]" به تبعية نظير غير مستوفاة "immutable @> = 3.8.1".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-markdown> [email protected]" به تبعية غير مستوفاة للأقران "immutable^3.8.2".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-markdown> [email protected]" يحتوي على تبعية غير صحيحة للأقران "[email protected]".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-markdown> [email protected]" به تبعية نظير غير مستوفاة "[email protected]".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-markdown> [email protected]" يحتوي على تبعية غير صحيحة للأقران "slate@i>0.33.3".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-markdown> [email protected]" به تبعية نظير لم تتم تلبيتها "[email protected]".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-markdown> [email protected]" لديه تبعية نظير غير مستوفاة "ثابت @> = 3.8.1".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-markdown> [email protected]" به تبعية نظير غير مستوفاة "ثابت @> = 3.8.1".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-core> إشعارات إعادة الإرسال> رد فعل[email protected]" به تبعية غير صحيحة للأقران "redux^2.0.0 || ^ 3.0.0".
11:10:04 صباحًا: تحذير "netlify-cms> netlify-cms-widget-markdown> slate-response> [email protected]" له تبعية نظير غير مستوفاة "غير قابل للتغيير @> = 3.8.1".
11:10:04 صباحًا: تحذير "> رد فعل[email protected]" به تبعية غير صحيحة للأقران "رد @ ^ 16.8.3".
11:10:21 ص: [4/4] بناء حزم جديدة ...
11:10:26 صباحًا: تم في 56.59 ثانية.
11:10:26 صباحًا: تم تثبيت وحدات NPM باستخدام Yarn
11:10:26 ص: حزمة التحذير. json: لا يوجد حقل ترخيص
11:10:26 ص: تم البدء في استعادة ذاكرة التخزين المؤقت للانتقال
11:10:26 صباحًا: تم الانتهاء من استعادة ذاكرة التخزين المؤقت للذهاب إلى ذاكرة التخزين المؤقت
11:10:27 صباحًا: قم بإلغاء تعيين GOOS ؛
11:10:27 ص: unset GOARCH؛
11:10:27 صباحًا: تصدير GOROOT = '/ opt / buildhome / .gimme / version / go1.12.linux.amd64'؛
11:10:27 صباحًا: export PATH = "/ opt / buildhome / .gimme / version / go1.12.linux.amd64 / bin: $ {PATH}"؛
11:10:27 صباحًا: انتقل إلى الإصدار> & 2 ؛
11:10:27 صباحًا: تصدير GIMME_ENV = '/ opt / buildhome / .gimme / env / go1.12.linux.amd64.env'؛
11:10:27 صباحًا: انتقل إلى الإصدار go1.12 linux / amd64
11:10:27 ص: تثبيت الأوامر المفقودة
11:10:27 ص: تحقق من دليل التشغيل
11:10:27 ص: تنفيذ أمر المستخدم: npm run build
11:10:27 ص:> [email protected] build / opt / build / repo
11:10:27 ص:> بناء run-p: **
11:10:28 صباحًا:> [email protected] build: app / opt / build / repo
11:10:28 صباحًا:> npm قم بتشغيل && gatsby build
11:10:28 ص:> [email protected] clean / opt / build / repo
11:10:28 ص:> rimraf .cache public
11:10:32 ص: استخدام تهيئة البيئة: "الإنتاج"
11:10:32 صباحًا: فتح النجاح والتحقق من صحة تكوينات gatsby - 0.059 ثانية
11:10:32 ص: نجاح تحميل الإضافات - 0.454 ثانية
11:10:34 صباحًا: نجاح في PreInit - 1.665 ثانية
11:10:34 ص: نجاح حذف ملفات html و css من الإصدارات السابقة - 0.008 ثانية
11:10:34 ص: نجاح تهيئة ذاكرة التخزين المؤقت - 0.011 ثانية
11:10:34 ص: نسخ ملفات gatsby بنجاح - 0.035 ثانية
11:10:34 صباحًا: نجاح في PreBootstrap - 0.009 ثانية
11:10:51 ص: مصدر النجاح وتحويل العقد - 17.231 ثانية
11:10:52 ص: مخطط بناء ناجح - 0.896 ثانية
11:10:55 ص: إنشاء الصفحات الناجحة - 2.772 ثانية
11:10:55 ص: إنشاء الصفحات بنجاح - 0.062 ثانية
11:10:55 ص: النجاح في الاستعلامات المسبقة - 0.006 ثانية
11:10:56 ص: نجاح تحديث مخطط - 0.712 ثانية
11:10:56 ص: نجاح استخراج الاستعلامات من المكونات - 0.166 ثانية
11:10:57 ص: نجاح تشغيل استعلامات الرسم البياني - 1.068 ثانية - 1460/1460 1368.43 استفسار / ثانية
11:10:57 ص: نجاح كتابة بيانات الصفحة - 0.035 ثانية
11:10:57 ص: نجاح كتابة بيانات إعادة التوجيه - 0.001 ثانية
11:10:57 صباحًا: نجاح في PostBootstrap - 0.010 ثانية
11:10:57 صباحًا: انتهى تشغيل المعلومات - 28.304 ثانية
11:12:14 صباحًا: نجاح إنشاء حزم JavaScript و CSS - 76.329 ثانية
11:12:14 ص:
11:12:14 ص: gatsby-plugin-purgecss:
11:12:14 ص: حجم CSS السابق: 305.33 كيلو بايت
11:12:14 ص: حجم CSS الجديد: 305.33 كيلو بايت (-0.00٪)
11:12:14 ص: تمت إزالة ~ 0.00 كيلو بايت من CSS
11:12:14 ص:
11:12:23 ص: خطأ فشل إنشاء HTML ثابت
11:12:23 صباحًا: راجع صفحة المستندات الخاصة بنا حول تصحيح أخطاء إنشاءات HTML للحصول على مساعدة https://gatsby.app/debug-html
11:12:23 ص: 48 | window.YouTubeIframeLoader = YouTubeIframeLoader ؛
11:12:23 ص: 49 | }
11:12:23 ص:> 50 | }(نافذة او شباك))؛
11:12:23 ص: | ^
11:12:23 ص: 51 |
11:12:23 ص:
11:12:23 ص: WebpackError: ReferenceError: لم يتم تعريف النافذة
11:12:23 ص:
11:12:23 صباحًا: - index.js: 50 كائن ../ node_modules / youtube-iframe / index.js
11:12:23 صباحًا: [lib] / [youtube-iframe] /index.js:50:2
11:12:23 ص:
11:12:23 ص: - التمهيد: 19 __webpack_require__
11:12:23 صباحًا: lib / webpack / bootstrap: 19 : 1
11:12:23 ص:
11:12:23 صباحًا: - MediaAutoTrack.js: 15 Object ../ node_modules / @ aws-amplify / analytics / lib / Provid ers / AmazonPersonalizeHelper / MediaAutoTrack.js
11:12:23 صباحًا: [lib] / [@ aws-amplify] / analytics / lib / Providers / AmazonPersonalizeHelper / MediaAu toTrack.js: 15: 27
11:12:23 ص:
11:12:23 ص: - التمهيد: 19 __webpack_require__
11:12:23 صباحًا: lib / webpack / bootstrap: 19 : 1
11:12:23 ص:
11:12:23 صباحًا: - index.js: 7 Object ../ node_modules / @ aws-amplify / analytics / lib / Providers / Amazon PersonalizeHelper / index.js
11:12:23 صباحًا: [lib] / [@ aws-amplify] /analytics/lib/Providers/AmazonPersonalizeHelper/index.js:7:10
11:12:23 ص:
11:12:23 AM: - bootstrap: 19 __webpack_require__
11:12:23 صباحًا: lib / webpack / bootstrap: 19 : 1
11:12:23 ص:
11:12:23 صباحًا: - AmazonPersonalizeProvider.js: 52 Object ../ node_modules / @ aws-amplify / analytics /lib/Providers/AmazonPersonalizeProvider.js
11:12:23 صباحًا: [lib] / [@ aws-amplify] /analytics/lib/Providers/AmazonPersonalizeProvider.js:52: 33
11:12:23 ص:
11:12:23 AM: - bootstrap: 19 __webpack_require__
11:12:23 صباحًا: lib / webpack / bootstrap: 19 : 1
11:12:23 ص:
11:12:23 صباحًا: - index.js: 7 Object ../ node_modules / @ aws-amplify / analytics / lib / Providers / index. شبيبة
11:12:23 صباحًا: [lib] / [@ aws-amplify] /analytics/lib/Providers/index.js:7:35
11:12:23 ص:
11:12:23 ص: - التمهيد: 19 __webpack_require__
11:12:23 صباحًا: lib / webpack / bootstrap: 19 : 1
11:12:23 ص:
11:12:23 ص: - index.js: 33 Object ../ node_modules/@aws-amplify/analytics/lib/index.js
11:12:23 صباحًا: [lib] / [@ aws-amplify] /analytics/lib/index.js:33:10
11:12:24 صباحًا: فشل أثناء المرحلة "إنشاء موقع": قام برنامج نصي بإرجاع رمز خروج غير صفري: 1
11:12:23 ص:
11:12:23 ص: - التمهيد: 19 __webpack_require__
11:12:23 صباحًا: lib / webpack / bootstrap: 19 : 1
11:12:23 ص:
11:12:24 صباحًا: جارٍ إيقاف التسجيل ، 58 رسالة معلقة

أنا أستخدم netlify من أجل الخادم الخاص بي

إذا كنت متأكدًا من أنك لا تستخدم النافذة ، فمن المحتمل أن تكون الحزمة.

يجب عليك تحديد نافذة فارغة في حزمة الويب.

ليس الأمر مستقيمًا جدًا للأمام ، ولكن هذا سيقودك في الاتجاه الصحيح:

https://stackoverflow.com/questions/37656592/define-global-variable-with-webpack

لست متأكدًا حقًا من سبب إغلاق هذه المشكلة؟ هذه القضية ، في الواقع ، ربما تكون الأكثر أهمية عندما يتعلق الأمر بغاتسبي ويجب تغيير فلسفتها بالكامل وإصلاحها.

إنه لأمر سيء حقًا أن يقترن المتصفح ومنطق SSR. ناهيك عن حقيقة أنك تقوم بتشغيل إصدار واحد من الكود قيد التطوير والاختلاف في الإنتاج. هذا حقا سيء. لماذا تصنع مثل هذه البنى؟ يجب تمكين الاختلاف الوحيد بين هذين الأمرين من تصحيح الوظائف في التطوير ومثال على ذلك خرائط المصدر أو أي شيء آخر. هذا يجعل استخدام Gatsby أمرًا صعبًا وجذابًا.

في رأيي ، يجب إعادة فتح هذا وإعطاء الأولوية لهذه المشكلة. تجعل هذه المشكلة الأشخاص يتخلون حرفيًا عن آلاف الوحدات التي تعتمد على النافذة ولا يمكن استيرادها جميعًا في componentDidMount ، مثل HOC مثل الوحدات النمطية وما إلى ذلك.

على الرغم من أنني لا أختلف ، فهذه نقطة ألم. يمكن للمرء أن يجادل بأن تلك المكتبات المكتوبة بمنطق حول متغير النافذة ليست مناسبة لاستخدام SSR. يجب أن تتحقق هذه المكتبات نفسها مما إذا كانت النافذة محددة وتعمل في وضع SSR.

لا توجد تعليقات أخرى على النقطة الأعمق التي تطرحها ، فهذه مناقشة فلسفية أكثر ملاءمة للقائمين على الصيانة.

مع كل الاحترام الواجب ، ما كتبته لا معنى له. لماذا يقوم شخص ما ببناء مكتبة "متصفح فقط" للتحقق مما إذا كان كائن النافذة موجودًا؟ هل يمكنك تسمية مكتبة واحدة أو الإشارة إليها في سجل NPM بأكمله؟ أم أنك تقول أن كل تلك المكتبات التي كتبها الناس مكتوبة بشكل خاطئ؟

أم يجب على الناس أن يفكروا في وجود إطار يسمى "غاتسبي" يحتاج إلى هذا؟ يجب أن يكون المرء قادرًا على استخدام Gatsby على طرف أو آخر ويجب فصل هذه الغايات تمامًا. هذه هي النقطة الوحيدة ، حقا. لا شيء فلسفي حيال ذلك.

حسب التصميم ، يعد Gatsby مولد موقع ثابت. معظم العمل الذي تقوم به لإنجاز ذلك يتم خارج المتصفح في وقت الترجمة. إنها ليست مجرد أداة "عميل" أو "متصفح".

يتم تقديم جانب الخادم بالتعريف على جانب "الخادم" ، حيث لا تعد "النافذة" شيئًا.

يتم إجراء تجميع Gatsby باستخدام Webpack ، ولا تعمل حزمة الويب افتراضيًا على توصيل متغير النافذة. من واقع خبرتي ، لا توجد طريقة واحدة فقط لتكييف مكتبات العملاء للعمل ضمن حزمة الويب. هذا يؤدي إلى أن تكوين Gatsby نفسه غير قادر على توفير حل بسيط من طلقة واحدة لإصلاح جميع المكتبات التي تعتمد على "النافذة".

FWIW أعتقد أنه من المنطقي فصل جزء من الأداة عن ذلك لمناقشة أي جزء منها يعيق ما ترغب في القيام به.

image

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات