لا أعرف ما إذا كان مرتبطًا بـ # 4216 لأنني أستخدم Angular 4.4.4
وهذه مشكلة React
، لذلك أنا أنشر هذا كمسألة منفصلة.
حصلت على الخطأ التالي بعد التحديث:
__WEBPACK_IMPORTED_MODULE_2_moment__ is not a function
أنا أستخدم حزم moment
التالية
"moment": "2.19.0",
"@types/moment": "2.13.0",
الكود الذي أحصل فيه على الخطأ بسيط للغاية:
import * as moment from 'moment';
...
if (moment().year() !== this.mainData.activeYear)
...
+1 - نفس المشكلة مع Angular 4
كذلك هنا. عدم استخدام Angular أو React. هذا هو خطأ webpack الخاص بي:
WARNING in ./~/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/data/jenkins/workspace/project/node_modules/moment/src/lib/locale'
./~/moment/src/lib/locale/locales.js 65:16-60
./~/moment/src/lib/locale/locale.js
./~/moment/src/moment.js
./script.js
نفس المشكلة مع vuejs و webpack.
الشيء نفسه هنا مع حزمة الويب ، على الرغم من أن المشكلة يتم تشغيلها بواسطة المنطقة الزمنية اللحظية. قمنا بتغيير التبعية من "moment": "^2.18.1"
إلى "moment": "~2.18.1"
نفس المشكلة عند الترقية إلى الإصدار 2.19.0
WARNING in ./~/[email protected]@moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/Users/XXX/code/gitlab/web-editor/node_modules/[email protected]@moment/src/lib/locale'
@ ./~/[email protected]@moment/src/lib/locale/locales.js 65:16-60
@ ./~/[email protected]@moment/src/lib/locale/locale.js
@ ./~/[email protected]@moment/src/moment.js
@ ./~/[email protected]@antd/lib/calendar/index.js
@ ./~/[email protected]@antd/lib/index.js
@ dll lib
نفس المشكلة هنا مع 2.19.0
نفس المشكلة على هذا الإصدار 2.19.0
هذا الإصدار (يجب إصلاح 2.19.0)
في الوقت الحالي ، قم بتثبيت 2.18.1
"اللحظة": "~ 2.18.1"
نفس المشكلة هنا 😢 سنقوم بالرجوع إلى الإصدار 2.18 حتى يتم حل هذه المشكلة.
نفس المشكلة هنا...
رد فعل خطأ webpack
WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in 'blahblahblah/node_modules/moment/src/lib/locale'
@ ./node_modules/moment/src/lib/locale/locales.js 65:16-60
@ ./node_modules/moment/src/lib/locale/locale.js
@ ./node_modules/moment/src/moment.js
@ ./src/client/components/ArticlesGrid/index.js
@ ./src/client/containers/StuffPage/index.js
@ ./src/client/routes.jsx
@ ./src/client/index.js
@ multi (webpack)-dev-server/client?http://0.0.0.0:8050 webpack/hot/dev-server babel-polyfill ./src/client/index.js
mymtw - كمجتمع ، لا نسمح بالشتائم على النماذج حتى يتم تحديث تعليقك. يرجى الامتناع في المستقبل.
حصلت على هذا بعد الترقية إلى 2.19 ...
node_modules/webpack/lib/IgnorePlugin.js:20
(!contextRegExp || contextRegExp.test(result.context))) {
^
TypeError: contextRegExp.test is not a function
واستخدام البرنامج المساعد للتجاهل لتخطي اللغات على ملف تهيئة webpack الخاص بي:
new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/])
سيساعد قفل إصدار اللحظة في package.json
:
"moment": "2.18.0"
ومع ذلك ، إذا تم سحب أحدث إصدار لحظة (2.19.0) من خلال التبعيات الخاصة بك ، فلن يعمل ما سبق (قم بتشغيل find ./node_modules/*/node_modules -iname moment
للتحقق من الإصدارات الأخرى اللحظية في تطبيقك)
يمكنك بدلاً من ذلك استخدام حزم الويب الخارجية:
+ externals: {
+ moment: 'moment',
+ },
<script src="https://momentjs.com/downloads/moment.min.js"></script>
تم الرجوع إلى ~2.18.0
والذي يتحايل على هذا في الوقت الحالي.
هذه هي خطوة التكاثر التي تناسبني. أفترض أن لديك create-react-app
مثبتًا عالميًا:
> create-react-app my-app
> cd my-app
> # Prove the app it working correctly
> npm run start
> npm install moment
تحديث src/app.js
بشيء مثل:
import '.App.css';
+ import moment from 'moment'
class App extends Component {
</p>
+<p>
+ Today is {moment().format()}
+</p>
</div>
ثم
> npm run start
توقع تحميل الموقع.
فعلي ، فشل مع وجود خطأ: لا يمكن حل خطأ "./locale".
سياق إضافي ، يعمل بعد العمل
> npm install [email protected]
هذا مثير للاهتمام. لقد قمت للتو بتحديث لحظة على الكود الخاص بي الذي أعمل عليه في وظيفتي ، وبدأت حزمة الويب. بقدر ما أستطيع أن أقول إن لدي أحدث تبعيات webpack (هناك العديد منها ، وقد راجعت القليل منها فقط) ، واللحظة 2.19.0 ، وكل شيء على ما يرام.
سأحاول مسار إنشاء التطبيق التفاعلي التالي.
لم يكن هذا صباحًا سعيدًا جدًا بهذا الخطأ!
كما سبق في هذا الخطأ.
npm install --save [email protected]
هذا يحل المشكلة في الوقت الحاضر. كان 2.19.0 يعطيني نفس الخطأ منذ حوالي ساعتين.
تم الرجوع إلى الإصدار 2.18.1 وعمل بشكل جيد.
يمكننا أيضًا تأكيد هذا السيناريو.
كسر 2.19.0 بنية الإنتاج: (. يبدو أن العودة إلى 2.18.1 تعمل بشكل جيد.
إغلاق كنسخة مكررة من # 4216 - تتبع هناك.
التعليق الأكثر فائدة
كذلك هنا. عدم استخدام Angular أو React. هذا هو خطأ webpack الخاص بي: