Moment: Mendapatkan kesalahan webpack setelah pembaruan ke 2.19.0

Dibuat pada 10 Okt 2017  ·  23Komentar  ·  Sumber: moment/moment

Tidak tahu apakah ini terkait dengan #4216 karena saya menggunakan Angular 4.4.4 dan itu adalah masalah React , jadi saya memposting ini sebagai masalah terpisah.

Saya mendapat kesalahan berikut setelah pembaruan:

__WEBPACK_IMPORTED_MODULE_2_moment__ is not a function

Saya menggunakan paket moment berikut

"moment": "2.19.0",
"@types/moment": "2.13.0",   

Kode tempat saya mendapatkan kesalahan cukup sederhana:

import * as moment from 'moment';
...

  if (moment().year() !== this.mainData.activeYear)

...

Komentar yang paling membantu

Sama disini. Tidak menggunakan Angular atau Bereaksi. Ini adalah kesalahan paket web saya:

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

Semua 23 komentar

+1 - Masalah yang sama dengan Angular 4

Sama disini. Tidak menggunakan Angular atau Bereaksi. Ini adalah kesalahan paket web saya:

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

Masalah yang sama dengan vuejs dan webpack.

Sama di sini dengan webpack, meskipun masalahnya dipicu oleh zona waktu-saat. Kami mengubah ketergantungan dari "moment": "^2.18.1" menjadi "moment": "~2.18.1"

masalah yang sama ketika saat meningkatkan ke versi 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

Masalah yang sama di sini dengan 2.19.0

Masalah yang sama pada versi 2.19.0 ini

Versi ini ( 2.19.0 harus diperbaiki )
untuk 'saat' ahahah, instal 2.18.1
"momen": "~2.18.1"

Masalah yang sama di sini Kami akan menurunkan versi kembali ke 2.18 hingga masalah ini teratasi.

Masalah yang sama disini...

bereaksi kesalahan paket web

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 - sebagai komunitas, kami tidak mengizinkan sumpah serapah di formulir sehingga komentar Anda telah diperbarui. Harap menahan diri di masa depan.

Dapatkan yang ini setelah memutakhirkan ke 2.19 ...

node_modules/webpack/lib/IgnorePlugin.js:20
                    (!contextRegExp || contextRegExp.test(result.context))) {
                                                     ^

TypeError: contextRegExp.test is not a function

Dan menggunakan plugin abaikan untuk melewati lokal pada file konfigurasi webpack saya:

new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/])

Mengunci versi momen di package.json akan membantu:

"moment": "2.18.0"

Namun, jika versi momen terbaru (2.19.0) ditarik oleh dependensi Anda, hal di atas tidak akan berfungsi (jalankan find ./node_modules/*/node_modules -iname moment untuk memeriksa versi momen lain di aplikasi Anda)

Anda dapat menggunakan eksternal webpack:

  • Tambahkan momen ke konfigurasi webpack eksternal Anda:
+            externals: {
+                moment: 'moment',
+            },
  • Gunakan file moment.js dari CDN - letakkan ini di file index.html (atau index.ejs):
    <script src="https://momentjs.com/downloads/moment.min.js"></script>

Diturunkan ke ~2.18.0 yang menghindari ini untuk saat ini.

Berikut adalah langkah reproduksi yang berhasil untuk saya. Saya berasumsi Anda telah menginstal create-react-app secara global:

> create-react-app my-app
> cd my-app
> # Prove the app it working correctly
> npm run start 
> npm install moment

Perbarui src/app.js dengan sesuatu seperti:

 import '.App.css';

+ import moment from 'moment'

class App extends Component {
 </p>
+<p>
+ Today is {moment().format()}
+</p>
 </div>

Kemudian

> npm run start 

Harapkan situs web dimuat.

Sebenarnya, gagal dengan Kesalahan: Tidak dapat menyelesaikan kesalahan './locale'.

Konteks ekstra, berfungsi setelah melakukan

> npm install [email protected] 

Ini menarik. Saya baru saja memperbarui momen pada kode saya sendiri yang saya kerjakan untuk pekerjaan saya, dan memulai webpack. Sejauh yang saya tahu, saya memiliki yang terbaru dari semua dependensi webpack (ada beberapa, dan saya hanya memeriksa beberapa), dan momen 2.19.0, dan semuanya baik-baik saja.

Saya akan mencoba jalur buat-reaksi-aplikasi ini selanjutnya.

Ini bukan pagi yang sangat bahagia dengan kesalahan ini!

Ditto pada kesalahan ini.

npm install --save [email protected]

Ini memperbaiki masalah untuk saat ini. 2.19.0 memberi saya kesalahan yang sama sekitar 2 jam yang lalu.
Diturunkan ke versi 2.18.1 dan berfungsi dengan baik.

Kami juga dapat menguatkan skenario ini.

2.19.0 memecahkan build produksi kami :(. Mengembalikan kembali ke 2.18.1 tampaknya berfungsi dengan baik.

Penutupan sebagai duplikat #4216 - lacak di sana.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

ninigix picture ninigix  ·  3Komentar

chitgoks picture chitgoks  ·  3Komentar

IbraheemAlSaady picture IbraheemAlSaady  ·  3Komentar

danieljsinclair picture danieljsinclair  ·  3Komentar

Shoroh picture Shoroh  ·  3Komentar