صف الخلل
إذا حاولت تجميع تطبيق TypeScript الخاص بي باستخدام حزمة الويب ، فسأحصل على خطأ لكل لغة لا يمكن حل "../moment".
يتكرر هذا الخطأ لكل لغة أخرى:
ERROR in ./node_modules/moment/locale/km.js
Module not found: Error: Can't resolve '../moment' in 'C:\PROGS\dev\var\private\moment-test\node_modules\moment\locale'
@ ./node_modules/moment/locale/km.js 5:50-70
@ ./node_modules/moment/locale sync ^\.\/.*$
@ ./node_modules/moment/moment.js
@ ./src/app.ts
لإعادة إنتاج
src / app.ts
import * as moment from "moment";
console.log(moment().format("YYYY"));
package.json
{
"private": true,
"dependencies": {
"moment": "2.23.0"
},
"devDependencies": {
"awesome-typescript-loader": "5.2.1",
"typescript": "3.2.2",
"webpack": "4.28.3",
"webpack-cli": "3.2.1"
}
}
tsconfig.json
{ "include": [ "./src/" ] }
webpack.config.js
module.exports = {
entry: "./src/app.ts",
output: { filename: "bundle.js" },
resolve: { extensions: [".ts"] },
module: { rules: [ { test: /\.ts$/, use: { loader: "awesome-typescript-loader" } } ] }
}
سلوك متوقع
يجب أن يعمل yarn run webpack -p
بدون أي خطأ.
بيئة خاصة باللحظة
الرجاء تشغيل الكود التالي في بيئتك وتضمين الإخراج:
console.log((new Date()).toString())
console.log((new Date()).toLocaleString())
console.log((new Date()).getTimezoneOffset())
console.log(navigator.userAgent)
console.log(moment.version)
هذا الرمز فشل مع نفس الأخطاء!
شكرا لفتح هذا الطلب.
هذا سؤال رائع لـ Stack Overflow .
هذه حشرة ، أليس كذلك؟ يعد Stack Overflow جيدًا للسؤال ، ولكن لن يقوم أحد بإصلاح الأخطاء هناك.
أفسر إجابتك على أنها تعني أنك لا تدعم WebPack مع TypeScript. مؤسف جدا!
هناك العديد من البرامج التعليمية على الإنترنت حول استخدام Moment مع Webpack و TypeScript. يبدو أن كثيرين آخرين يستخدمونها معًا على ما يرام. إذا واجه المزيد من الأشخاص هذه المشكلة ، وكانت هناك معرفة مجتمعية كافية لإصلاحها ، فيمكننا محاولة القيام بذلك.
بالمناسبة ، عانيت من نفس المشكلة - ويبدو أن سببها هو المواقع اللحظية ، التي لم أهتم بها. لقد وجدت حلاً في هذه المقالة عبر الإنترنت ، والذي كان جيدًا بما يكفي في حالتي ، لتجاهل المكون الإضافي للغة:
المكونات الإضافية: [حزمة الويب الجديدة. تجاهل بلوجين (/ ^.\/ locale $ /، / moment $ /)]
يبدو هذا وكأنه سيناريو استخدام سائد جدًا ، لذلك أوصي بالربط بالصفحة أعلاه من قسم TypeScript في المستندات .
@ authguidance -ampless العلاقات العامة مرحب بهم على https://github.com/moment/momentjs.com !
كنت أواجه نفس المشكلة ، وهنا كانت المشكلة-
npm i --save react-moment
، والذي تمت إضافته للتو في ملف package.json
لكن lib لم يكن موجودًا في node_modules ، لذلك أقوم بتنفيذ ذلكnpm install --save moment react-moment
يعرف أي شخص لماذا دائما تظهر مثل "قبل بضع ثوان"؟ مهما كان التاريخ
أضفت اللحظة في رد فعل: استيراد * كلحظة من "لحظة" ؛ وفي حقنة الاعتماد المضافة: "لحظة": "2.23.0" ، ولكن الحصول على
خطأ غير محدد ... في التفاعلات ،
رجاء، المساعده...
لماذا لم يتم إغلاق هذا الفرع؟ آخر تعليق في 2 ديسمبر 2019.marwahaha
التعليق الأكثر فائدة
كنت أواجه نفس المشكلة ، وهنا كانت المشكلة-
npm i --save react-moment
، والذي تمت إضافته للتو في ملفpackage.json
لكن lib لم يكن موجودًا في node_modules ، لذلك أقوم بتنفيذ ذلكnpm install --save moment react-moment