Tôi đang làm rối tung với Node.js lần đầu tiên và quyết định tạo một ứng dụng đơn giản bằng Express. Tôi làm theo các hướng dẫn từ github trong một thư mục rỗng như vậy:Gặp lỗi khi chạy dự án Express cơ bản
npm install -g express
express
npm install -d
node app.js
Khi điều hướng đến localhost:3000
tôi nhận được lỗi sau:
Express
500 Error: Cannot find module './lib/jade'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object. (C:\dev\gravity_kata\node_modules\jade\index.js:4:5)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)
Khi nhìn dưới node_modules\jade\lib
Tôi thấy tất cả các tập tin thư viện Jade, nhưng không có thư mục jade
. Vì vậy, tôi tạo ra một thư mục dưới lib gọi là ngọc bích và di chuyển các tập tin thư viện ở đó và bây giờ ứng dụng mặc định của tôi hoạt động.
Bây giờ, khi tôi gần như không có kinh nghiệm với Node.js và Express, tôi chắc chắn tôi đã làm điều gì đó sai. Có ai có bất kỳ ý tưởng những gì đang xảy ra ở đây?
Edit:
Tôi lao vào mã Jade. Trong tệp index.js của Jade, nó yêu cầu lib\jade
và tìm trong thư mục lib, không có tệp jade.js
. Vâng, đó là vấn đề, nhưng tại sao tệp jade.js bị thiếu? Khi kéo Jade source từ npm, có tệp jade.js trong thư mục lib. Tôi đã sao chép thư mục lib từ nguồn được tải xuống vào mô-đun Jade cho dự án của tôi và nó hoạt động tốt ngay bây giờ.
Vì lý do nào đó, npm không kéo tệp jade.js xuống. Phiên bản trong tệp packages.json
khớp với nguồn tôi đã kéo xuống, 0.21.0
. Bất kỳ ai có ý tưởng về lý do tại sao điều này xảy ra?
Dường như đó là sự cố hoặc sự cố rõ ràng. Hãy thử tìm hiểu mã số ... –
Tôi đã chỉnh sửa câu trả lời của mình về những gì tôi tìm thấy sau khi tìm hiểu mã. – JChristian
Tải xuống từ nguồn và trích xuất đã hoạt động cho tôi. Cảm ơn bạn đã chỉ ra tệp bị thiếu. Phải là một lỗi với NPM/Jade. – foobar