2016-08-21 24 views
6

Tôi đang theo dõi tài liệu Laravel và muốn cài đặt Elixir để quản lý các bộ lọc tiền xử lý và sass khác.Laravel "npm install" tải xuống 30.000+ mục

Nhưng khi tôi bắt đầu "NPM cài đặt" từ thư mục gốc laravel, tôi kết thúc với:

114.316.724 byte (220,3 MB trên đĩa) cho 35,861 mục

trong thư mục node_modules!

Hãy nói với tôi rằng Elixir hoặc Gulp không cần số lượng phụ thuộc vô lý này, hoặc tôi đã làm gì sai?

Các package.json chứa:

{ 
    "private": true, 
    "scripts": { 
    "prod": "gulp --production", 
    "dev": "gulp watch" 
    }, 
    "devDependencies": { 
    "gulp": "^3.9.1", 
    "laravel-elixir": "^5.0.0", 
    "bootstrap-sass": "^3.3.0" 
    } 
} 
+0

Tại sao điều này lại vô lý? – Ohgodwhy

+4

npm là vô lý, nhưng có, đây là những gì đi cho "bình thường" trong thế giới npm. – Oli

+0

Giả sử ai đó chỉ cần một Sass và không có bộ tiền xử lý khác. Nhưng sau khi tải Elixir bạn kết thúc với 30.000 + tập tin mà từ đó u có thể chỉ sử dụng 2%. Tôi nghĩ rằng Gulp nên có một tùy chọn để xác định những gói để cài đặt trong trường hợp người dùng chỉ cần một vài. –

Trả lời

0

Lý do tại sao mục npm tải rất nhiều, là mỗi mục trong phụ thuộc của bạn cũng có một tập tin package.json, và trong mỗi người trong số những tác phẩm, nhiều phụ thuộc được khai báo . Điều này tạo ra một cây phụ thuộc phức tạp.

Không có cách nào xung quanh thực tế là nó đòi hỏi phải có 200MB của gói để chạy elixir, mặc dù đội ngũ nòng cốt của Laravel nay khuyến cáo Sợi như quản lý gói của bạn (https://yarnpkg.com/lang/en/), để mạnh tốc độ lên của bạn nút-fu.

Cá nhân tôi thấy tốc độ 5-10x trong cài đặt gói.

+1

thú vị, cảm ơn đề nghị! –

Các vấn đề liên quan