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)
...
+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:
+ externals: {
+ moment: 'moment',
+ },
<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.
Komentar yang paling membantu
Sama disini. Tidak menggunakan Angular atau Bereaksi. Ini adalah kesalahan paket web saya: