Saya telah mencoba mereplikasi masalah hari ini & akhirnya saya mendapatkan sesuatu dengan meretas di direktori node_modules
.
Pada dasarnya, menyertakan file KURANG tanpa ekstensi berfungsi, kami tahu ini... tapi... memasukkan tanpa ekstensi dari direktori node_modules
gagal.
Saya telah membuat repo sederhana yang menunjukkan yang berikut: https://github.com/robhuzzey/lessimporttest
<strong i="11">@import</strong> './one/two/three/four/test';
berhasil
seperti halnya: <strong i="14">@import</strong> 'thisisinnodemodules/one/two/three/four/test.less';
(perhatikan itu termasuk dari node_modules dengan ekstensi)
Namun:
<strong i="19">@import</strong> 'thisisinnodemodules/one/two/three/four/test';
(perhatikan itu termasuk dari node_modules tanpa ekstensi)
tidak berfungsi dan menghasilkan kesalahan berikut:
$ npm run buildStyles
> [email protected] buildStyles /Users/robert.huzzey/Sites/test/lessissue
> lessc styles.less styles.css
FileError: 'thisisinnodemodules/one/two/three/four/test' wasn't found. Tried - /Users/robert.huzzey/Sites/test/lessissue/thisisinnodemodules/one/two/three/four/test.less,/Users/robert.huzzey/Sites/test/lessissue/thisisinnodemodules/one/two/three/four/test.less,/Users/robert.huzzey/Sites/test/lessissue/node_modules/thisisinnodemodules/one/two/three/four/test,thisisinnodemodules/one/two/three/four/test.less in /Users/robert.huzzey/Sites/test/lessissue/styles.less on line 5, column 1:
4 // This does NOT work
5 <strong i="24">@import</strong> 'thisisinnodemodules/one/two/three/four/test';
6
Saya telah membuat beberapa cabang untuk menunjukkan bahwa ini tampaknya menjadi masalah dengan v3
tetapi BUKAN v2
... adakah yang bisa mengonfirmasi apakah ini perilaku yang diharapkan atau tidak diinginkan (sepertinya saya tidak bisa untuk menemukan sesuatu tentang ini secara online).
Juga mengalami masalah ini hari ini.
Saya mengkonfirmasi masalah ini juga. Anda dapat mereproduksinya dengan mengkloning dan menjalankan npm run dev di repo ini:
https://github.com/acacha/AdminLTETinkerLaravelMix
Perhatikan bahwa ini mungkin masalah webpack karena menggunakan perintah lessc tidak ada masalah.
@acacha Saya memang memikirkan hal yang sama tetapi saya telah membuktikan sebaliknya .. jika Anda melihat repo yang saya buat dalam masalah yang diangkat ... Anda dapat melihatnya tidak menggunakan webpack & kami masih memiliki masalah ini :(
Saya memang telah menggali lebih sedikit kode sumber & ini sepertinya tempat untuk mulai menguji beberapa hal:
Saya enggan untuk mulai menggali atau membuat PR sampai saya tahu ini bukan perilaku yang dimaksudkan... jika salah satu pengelola Less dapat mengonfirmasi... Saya dengan senang hati menyelidiki perbaikannya.
@robhuzzey Mengimpor dari node_modules hanya ditambahkan ke alfa 3.0 terakhir, dan tidak, itu bukan perilaku yang dimaksudkan bahwa itu tidak akan diimpor tanpa .less
dalam impor. Pasti bug di 3.0 alpha 3. Terima kasih telah memeriksanya.
@matthew-dean Sepertinya saya telah memperbaikinya dengan pekerjaan ini: https://github.com/robhuzzey/less.js/tree/issue3115_extInNodePath tetapi tidak jelas di mana harus menambahkan tes untuk ini?
Semua tes lulus dengan perubahan ini... Saya senang mengirimkan PR untuk ditinjau / saran?
@robhuzzey Anda perlu menambahkan .less
NPM devDependency di package.json
, dan kemudian menambahkan tes (dalam /tests/less
) untuk memuat file dari modul (mungkin import-module.less
file?) Setelah menambahkan tes, saya akan memverifikasi bahwa itu rusak tanpa perbaikan untuk memastikan tes bekerja.
Terima kasih @matthew-dean Saya memverifikasi bahwa tes saat ini rusak sebelum melakukan perbaikan ... di mana saya kesulitan adalah bahwa semua tes diberi nama .less
.
Saya kira tantangan selanjutnya adalah membuatnya memasukkan file dari node_modules
.
@robhuzzey Apakah Anda juga punya waktu untuk melihat https://github.com/less/less.js/issues/3116 ? Tidak apa-apa jika Anda tidak melakukannya.
@matthew-dean yakin... senang membantu.
Saya melakukan tes untuk cabang saya di sini: https://github.com/robhuzzey/less.js/tree/issue3115_extInNodePath tetapi sesuatu tampaknya tidak berfungsi seperti yang saya harapkan (saya pikir saya tidak sepenuhnya mengerti bagaimana memasukkan tes untuk pekerjaan ini).
Jika Anda dapat menunjukkan kepada saya apa yang saya lakukan salah, saya akan sangat menghargainya :)
Maaf @matthew-dean Saya sedang bekerja di luar negeri saat ini jadi di zona waktu yang berbeda sekarang... senang melihat masalah yang Anda miliki jika Anda dapat memberi tahu saya cara menulis tes untuk lib ini? Saya sudah mencoba beberapa kali secara berkala tetapi merasa itu mungkin sesuatu yang jelas, Anda dapat memberi tahu saya dengan mudah :)
@robhuzzey Saya tidak terbiasa dengan sintaks file:
di NPM, tetapi, jika tidak, bagi saya sepertinya itu harus berjalan dengan benar. Satu-satunya hal lain yang perlu Anda lakukan adalah menempatkan import-module.css
di test/css
, yang kemudian digunakan sebagai file perbandingan dengan keluaran yang diharapkan sehingga pengujian dapat memverifikasi bahwa itu berfungsi. Saat Anda menjalankan grunt quicktest
, Anda mungkin perlu menyesuaikan hal-hal kecil di CSS keluaran Anda seperti baris baru atau indentasi hanya untuk mencocokkan keluaran Lebih sedikit. Anda bahkan dapat membuat file kosong untuk pengujian pertama Anda dan kemudian menyalin / menempelkan output yang diharapkan di log konsol. Selama itu mengeluarkan aturan dari modul dengan .less
dihilangkan, itu yang penting. Saya benar-benar akan memadukan pengujian Anda sehingga beberapa (atau satu) diimpor dengan .less
dan beberapa tanpa, untuk pengujian yang lebih kuat.
@matthew-dean terima kasih... pada akhirnya sangat sederhana.. hanya membutuhkan CSS untuk membandingkan!
Saya juga tidak tahu tentang sintaks file://
di NPM sebelumnya ... tapi sekarang saya menyadari ini adalah kasus penggunaan yang baik daripada membuat paket NPM yang sebenarnya hanya untuk tes :)
Saya telah membuat PR sekarang: https://github.com/less/less.js/pull/3120 Saya tidak yakin dengan deskripsi terbaik ... jika Anda memiliki contoh, saya dapat mengikuti dll atau template saya akan dengan senang hati ikuti itu.
Terima kasih.
Masalah ini telah diselesaikan dengan: https://github.com/less/less.js/pull/3120
@robhuzzey Adakah garis waktu kapan Alpha baru akan dirilis dengan perbaikan ini? Ini saat ini merusak build webpack saya ketika saya mencoba mengganti variabel di perpustakaan eksternal.
@stefan-schweiger Saya akan mencoba merilis ini malam ini atau besok malam.
Jika ada yang tertarik untuk terlibat dalam Releasing for the Less repo, hubungi saya di sini atau di Twitter @matthewdeaners.
@stefan-schweiger maaf, baru lihat ini. Saya tidak memiliki kemampuan untuk merilis seperti yang dimiliki Matthew Dean (ini adalah kontribusi pertama saya untuk Less jujur).
@matthew-dean seperti yang mungkin Anda tahu, saya cukup sibuk saat ini tetapi saya memiliki beberapa "waktu senggang" yang dijadwalkan segera jadi saya akan kembali kepada Anda jika tidak apa-apa? (Saya tidak bisa menambahkan lebih banyak untuk apa yang saya lakukan saat ini).
terima kasih @matthew-dean untuk memperbaiki https://github.com/less/less.js/issues/3123 , itulah alasan saya bahkan mendapatkan kesalahan ini di build rilis saya. Jadi jangan khawatir @robhuzzey itu berhasil dengan menurunkan versi secara manual sebelum ini diperbaiki.
Masalah ini masih berlanjut di rilis 3.0.1.
Saya menurunkan versi secara manual ke rilis 2.7.3 untuk menyelesaikan masalah.
@allentcm Itu tidak masuk akal. Less 2.7.3 tidak mengimpor dari folder node_modules sama sekali.
@matthew-dean @allentcm menurunkan versi ke 2.7.3 juga berhasil untuk saya
@matthew-dean @allentcm @babsonmatt menurunkan versi ke 2.7.3 juga berhasil untuk saya 👍