<p>क्षणों के साथ: "./locale" नहीं मिला</p>

को निर्मित 22 फ़र॰ 2016  ·  48टिप्पणियाँ  ·  स्रोत: moment/moment

वेबपैक का उपयोग करते समय मुझे यह चेतावनी मिल रही है:

WARNING in ./~/moment/min/moment-with-locales.js
Module not found: Error: Cannot resolve 'file' or 'directory' ./locale in \node_modules\moment\min
@ ./~/moment/min/moment-with-locales.js 271:16-43

कोई सुराग?

Discussion Documentation Help Wanted

सबसे उपयोगी टिप्पणी

मैंने अच्छे परिणामों के साथ अनदेखा मॉड्यूल का उपयोग किया। यह किसी की मदद कर सकता है:

    // /app/js/webpack.config.js
    plugins: [

        // Fixes warning in moment-with-locales.min.js 
        //   Module not found: Error: Can't resolve './locale' in ...
        new webpack.IgnorePlugin(/\.\/locale$/)
    ]

सभी 48 टिप्पणियाँ

# 1435 देखें। अंत में वर्कअराउंड। धन्यवाद।

वेबपैक .config.js के "प्लगइन्स" में सुझाए गए वर्कअराउंड

new webpack.ContextReplacementPlugin(/moment[\\\/]locale$/, /^\.\/(en|de|cz|eu)$/)

काम नहीं किया

ऊपर बताई गई समस्या लगभग require('./locale' + name) स्टेटमेंट में फ़ाइल मिन / पल-साथ-loc.js में शामिल है। यह अब आवश्यक नहीं है क्योंकि सभी स्थान पहले से ही इस फ़ाइल में शामिल हैं।

दुर्भाग्य से वेबपैक सभी को कथन को हल करने की कोशिश करता है - इसलिए यह चेतावनी।

@ichernev - मैं @mheimschild उचित है। हालांकि इसे संभालना सुनिश्चित नहीं है।

वेबपैक को समझाने का सबसे सरल उपाय कि पहले से ही पल-पल-स्थानों में शामिल स्थानों की तलाश न करें। इसके बजाय उसे कुछ और लोड करने के लिए मजबूर करना है। यह मेरे लिए काम किया:

खाली मॉड्यूल स्थापित करें (इसमें साहित्यिक कुछ भी नहीं है)
npm install --save-dev empty-module
और फिर ContextReplacementPlugin को निम्नानुसार कॉन्फ़िगर करें
new webpack.ContextReplacementPlugin(/\.\/locale$/, 'empty-module', false, /js$/)

उम्मीद है कि यह मदद करता है।

वर्कअराउंड @mheimschild के लिए धन्यवाद - यह अच्छा होता कि यह

ऐसा लगता है कि empty-module का उपयोग करने की आवश्यकता नहीं है, बस इसे शून्य में बदल दें, यह अभी भी ContextReplacementPlugin में काम करता है

new webpack.ContextReplacementPlugin(/\.\/locale$/, null, false, /js$/)

npm माध्यम से क्षणिका का उपयोग करते समय बस इसी तरह की समस्या थी
मैंने पाया कि locales.js यह ./locale/ को संदर्भित करता है
मुझे लगता है कि भाषा स्थानीयकरण खोजने की कोशिश कर रही लाइन। CMIIW

इस बीच स्थानीय फाइलें ../../locale/ locale.js
उस लाइन को require ('../../locale/' + name); में बदलकर मैंने इस मुद्दे को सुलझा लिया लेकिन मैं node_modules सीधे अपने सर्वर पर पसंद नहीं कर सका

ऊपर बताए गए वेबपैक तरीके को आजमाएंगे

संपादित करें: मैं इसे विंडोज़ पर चला रहा था, यह पथ की समस्या जैसा दिखता है। मैंने लाइनक्स पर क्षण चलाने की कोशिश की और यह ठीक काम करता है

मैंने अच्छे परिणामों के साथ अनदेखा मॉड्यूल का उपयोग किया। यह किसी की मदद कर सकता है:

    // /app/js/webpack.config.js
    plugins: [

        // Fixes warning in moment-with-locales.min.js 
        //   Module not found: Error: Can't resolve './locale' in ...
        new webpack.IgnorePlugin(/\.\/locale$/)
    ]

@miguelrincon ठीक काम करता है!

बहुत बढ़िया। यह काम करता हैं!

@miguelrincon या समान - क्या हम उसके लिए डॉक्स पर एक पुल अनुरोध प्राप्त कर सकते हैं? यह वेबपैक के तहत उपयोग अनुभाग में होगा।

हाइब्रिड ऐप Ionic 3.5 को Angular 4 के साथ कैसे ठीक करें जहां हमारे पास कोई webpack.config फ़ाइल नहीं है?

मैंने ऊपर @miguelrincon सुझाव देने की कोशिश की, लेकिन यह काम नहीं करता है।
यानी यह निर्माण के दौरान त्रुटि को नहीं फेंकता है, लेकिन उसी त्रुटि को ब्राउज़र कंसोल लॉग में फेंक दिया जाता है।

चारों ओर देखने के बाद, मैंने यह पाया और यह पूरी तरह से काम करता है!

https://github.com/afc163/react-boilerplate/commit/61ec8a19df0fcb56d407b795cb6c87141e0e14a7

\\ webpack.js

resolve: {
   ....
   alias: {
      moment$: 'moment/moment.js',
   },
   ...
}

यह समस्या मेरे लिए क्षण में दिखाई दी है। js 2.19.0। यदि आपको अपने आवेदन को अभी काम करने की आवश्यकता है तो एक रोलबैक करना चाहिए। उदाहरण के लिए:

npm स्थापित करें 2.18.0 - सेक

धन्यवाद @ jeff3dx इसने मेरा मुद्दा तय कर दिया!

@ jeff3dx मैं नवीनतम संस्करण के साथ ठीक वैसा ही हो रहा था, लेकिन @ M1chaelTran द्वारा सुझाए गए संकल्प उर्फ ​​को जोड़कर अभी भी चाल चल रहा है।

मैं पुष्टि करता हूं कि 2.18 पर चिपके रहना समस्या को तुरंत ठीक करता है।

मुझे भी। प्रतिक्रिया 16 का उपयोग कर, संस्थापित पल 2.19 और त्रुटियों को मिला। 2.18 पर वापस लौटा, कोई त्रुटि नहीं।

प्रिय, मैं इसे हल!
src / lib / locale / loc.js को लाइन 61 में,
61 की आवश्यकता होती है ('./ लोकेल /' + नाम);
परिवर्तन होना:
61 की आवश्यकता ('./' + नाम);
"स्थानों के साथ क्षण:" ./locale "नहीं मिला" हल हो जाएगा।

@ wushuang5112 आप एक नोड_मॉडल को संपादित नहीं कर सकते, इसलिए आपके समाधान के लिए रिपॉजिटरी में पल जोड़ना आवश्यक होगा, जो अच्छा नहीं है

प्रतिक्रिया और वेबपैक का उपयोग करते हुए ऐप में पल 2.19 पर अपग्रेड करते समय हमें सिर्फ एक समस्या थी। 2.18 पर लौटकर इसे ठीक किया।

इसके बजाय मैं वापस रोल करने के बजाय वेब पैक कॉन्फिग के अंदर क्षणों के लिए एक उपनाम का उपयोग करने के @ M1chaelTran के समाधान का उपयोग करूंगा। एक आकर्षण की तरह काम किया और मुझे नवीनतम का उपयोग करने की अनुमति देता है।

हल किया! ... v2.19.1

@ M1chaelTran आप एक आशीर्वाद हैं, बहुत बहुत धन्यवाद !!!

मैं अभी भी v2.19.1 में मुद्दे को देख रहा हूं

WARNING in ./~/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/project/node_modules/moment/src/lib/locale'
 @ ./~/moment/src/lib/locale/locales.js 56:12-46
 @ ./~/moment/src/lib/locale/locale.js
 @ ./~/moment/src/moment.js
 @ dll reactBoilerplateDeps

हालाँकि, @ M1chaelTran उर्फ चाल ने मेरे लिए काम किया।

@electrobabe मुझे लगता है कि समस्या यह है ... डॉक्टर इस बारे में पुराना है। इसलिए...

इसे हल करने के लिए: Can't resolve './locale' in , moment और min/locales आयात करने का प्रयास करें बजाय moment-with-locales । यह मेरे लिए तय है!

इसके लिए बेहतर संदर्भ है:
http://momentjs.com/docs/#/i18n/loading -into-browser /

2.18 में अपग्रेड करना मेरे लिए समस्या का समाधान नहीं है। अभी भी यह है: त्रुटि: मॉड्यूल नहीं ढूँढ सकता है "./ocale"

अजीब बात यह है कि इसे ठीक करना है:

  • मेरे react-native प्रोजेक्ट में मुझे moment-with-locales फ़ाइल आयात करनी होगी
  • मेरे reactjs प्रोजेक्ट में मुझे अभी moment/locales फ़ाइल आयात करनी है

@manelephant मुझे लगता है कि यह समस्या को हल करता है: https://github.com/moment/moment/issues/2979#issuecomment -346636284

2.18 में अपग्रेड करना मेरे लिए समस्या का समाधान नहीं है।

मैं कोणीय क्ली का उपयोग करता हूं।
पल काम किया है, लेकिन जब मैं npm रन packagr ==> के साथ अपने घटक निर्यात करना चाहते हैं

FESM15 के लिए संकलन
_ locale ’_ node_modulesmoment \ srcmoment.js’ द्वारा निर्यात नहीं किया जाता है

भवन त्रुटि
एक नाम स्थान ('क्षण') नहीं कह सकते
त्रुटि: एक नाम स्थान ('क्षण') नहीं कह सकता

कोई मेरी मदद कर सकता है?

ऐसा लगता है कि इस धागे में बहुत उपयोगी सलाह है। हम इस बारे में हमारे डॉक्स पर कुछ पीआर लेना पसंद करेंगे! https://github.com/moment/momentjs.com

सभी जानकारी के लिए धन्यवाद।

अद्यतन: मुझे एक समाधान मिला।

आयात करने का सही तरीका:

import * as moment_ from 'moment'; const moment = moment_;

और एनजी-पैकेज में। संदेश:

{ "lib": { "externals": { "moment": "moment" } } }

मेरे द्वारा संरचना झूठी थी, बाहरी कामेच्छा के अंदर नहीं था, इसलिए पैकरट lib.externals की तलाश कर रहा था और पल नहीं पा रहा था।

एनजी-पैक्ड और पल

मैं नवीनतम संस्करण का उपयोग कर रहा हूँ, अभी यह २.२२.२ है।

जब मैं एनजी-पैकाग्रा का उपयोग करने और अपनी परियोजना को पैक करने की कोशिश कर रहा हूं, मुझे यह त्रुटि मिलती है। के रूप में ही: @vZanchiV

_ locale ’_ node_modulesmoment \ srcmoment.js’ द्वारा निर्यात नहीं किया जाता है

भवन त्रुटि
एक नाम स्थान ('क्षण') नहीं कह सकते
त्रुटि: एक नाम स्थान ('क्षण') नहीं कह सकता

परियोजना में यह इस तरह से आयातक है:

आयात * 'पल' से पल के रूप में;

मुझे एक वर्कअराउंड मिला, जो ठीक नहीं हुआ, मैंने इसे आयात करने की कोशिश की:

import * as momentImported from 'क्षण';

इस विधि के बाद मैं अपने प्रोजेक्ट को ng-packagr के साथ निर्यात कर सकता था लेकिन फिर मैं इस समस्या के साथ अपने प्रोजेक्ट को किसी अन्य प्रोजेक्ट में आयात करने में विफल रहा

मॉड्यूल नहीं मिला: त्रुटि: 'C: \ Cocale' को हल नहीं कर सकता 'C: \ development \ angularTest \ angulartestnode_modules \ modulename

@ Francisrod01 के समाधान की पुष्टि करने के लिए, मैंने अपना आयात बदल दिया है, ताकि इसके बजाय

import moment from 'moment/min/moment-with-locales'

मैं बदल गया

import moment from 'moment'
import 'moment/min/locales'

और यह मेरे लिए हल हो गया। आशा है कि इससे सहायता मिलेगी।

मुझे @ M1chaelTran द्वारा ऊपर दिए गए उपनाम का समाधान अच्छा काम करने के लिए मिला। यदि कोई व्यक्ति लारवेल मिक्स का उपयोग कर रहा है, तो सोच रहा है कि इसे कैसे लगाया जाए, आपके webpack.mix.js को शीर्ष पर इस तरह दिखना चाहिए:

let mix = require('laravel-mix');

mix.webpackConfig({
    resolve: {
        alias: {
            moment$: 'moment/moment.js'
        }
    }
});

ऊपर दिए गए सभी समाधानों को आज़माएं, केवल 'डाउनग्रेड पल संस्करण' ही हल कर सकता है। लेकिन मेरे कुछ मॉड्यूल जैसे 'एनटीडी' की आवश्यकता 2.19.0 है। इसलिए मुझे लगता है कि मैं इसे डाउनग्रेड नहीं कर सकता

        new webpack.ContextReplacementPlugin(/^\.\/locale$/, (context) => {
            if (!/\/moment\//.test(context.context)) return;

            Object.assign(context, {
                regExp: /^\.\/\w+/,
                request: '../../locale', // resolved relatively
            });
        }),

इस समाधान ने मेरे लिए काम किया।

# 4216 (और # 3872 से बूट) के रूप में एक ही मुद्दा हो सकता है।

संभवतः # 4216 को संदर्भित करना सबसे अच्छा है क्योंकि इसका सबसे बड़ा इतिहास है

@ARonkrohn धन्यवाद, यह समाधान अभिक्रिया-बॉयलरप्लेट v.4 के साथ काम करता है

क्षण के बजाय पहले लोकल लोड करने का प्रयास करें। min.js

"पल": [
"../Node_modules/moment/locale/en-au.js",
"../Node_modules/moment/min/moment.min.js"
]

इससे मेरी समस्या हल हो जाएगी।

मेरे पास पल 2.24.0 और यह मेरे लिए आखिरकार काम कर रहा है:

    // Fixes warning in moment-with-locales.min.js
    //   Module not found: Error: Can't resolve './locale' in ..
    new webpack.ContextReplacementPlugin(/^\.\/locale$/, context => {
      if (!/\/moment\//.test(context.context)) return

      Object.assign(context, {
        regExp: /^\.\/\w+/,
        request: '../locale', // resolved relatively
      })
    })

लगभग @ARonkrohn के फिक्स के request: '../../locale', बजाय मुझे request: '../locale', का उपयोग करना पड़ा।

यहाँ इस मुद्दे के लिए तय है:

फ़ाइल: "क्षण \ src \ liblocalelocales.js" पंक्ति 56:
"./locale" को "..//locale" में बदलना होगा

एलेक्जेंड्रा

फिक्स सरल है ...

किसी भी चीज़ को इस तरह खोजें:

import moment from 'moment/src/moment';

और इसे इसके साथ बदलें

import * as moment from 'moment';

बनाने के साथ

import * as moment from "moment/moment.js"

बनाने के साथ

import * as moment from "moment/moment.js"

@mssui समाधान मेरे लिए काम किया

 "resolutions": {
    "moment": "2.24.0"
  }

package.json और फिर यार्न के लिए ऊपर जोड़ें। मेरे लिए ठीक है

webpack.config.js

कृपया मुझे यह फ़ाइल कहाँ मिल सकती है, मुझे आपके द्वारा संदर्भित पथ नहीं मिल सकता, अग्रिम धन्यवाद,

मैंने एक पुराने प्रोजेक्ट से क्षण स्रोत फ़ोल्डर की प्रतिलिपि बनाकर एक वर्कअराउंड किया, और यह मेरे लिए काम किया

Https://momentjs.com/docs/#/ -project-status / देखें

क्या यह पृष्ठ उपयोगी था?
0 / 5 - 0 रेटिंग्स