Mặc dù có những giải pháp tuyệt vời để quản lý sự phụ thuộc ở phía máy chủ, nhưng tôi không thể tìm thấy giải pháp nào đáp ứng được tất cả nhu cầu của tôi để có một quy trình quản lý sự phụ thuộc JavaScript phía máy khách nhất quán. Tôi muốn đáp ứng 5 yêu cầu sau:
- Quản lý các phần phụ thuộc phía máy khách của tôi ở định dạng tương tự như package.json của npm hoặc bower 's
bower.json
- Nó phải linh hoạt để trỏ đến git repo hoặc các tệp js thực tế (trên web hoặc cục bộ) trong
dependency.json
tệp của tôi cho các thư viện ít được biết đến hơn (npm cho phép bạn trỏ đến git repos) - Nó sẽ thu nhỏ và không gian tên tất cả các thư viện thành một tệp duy nhất như ender - đó là tệp js duy nhất mà tôi cần đặt trong
<script>
thẻ của mình ở phía máy khách - Nó nên có hỗ trợ ngoài hộp cho CoffeeScript như BoxJS 4 (hiện đã chết)
Trong trình duyệt, tôi có thể sử dụng một trong hai kiểu yêu cầu :
var $ = require('jquery'); var _ = require('underscore');
Hoặc tốt hơn, hãy làm theo kiểu headjs :
head.js(['jquery', 'underscore', 'mylib'], function($, _, mylib) { // executed when all libraries are loaded });
Nếu không có một công cụ duy nhất nào như vậy tồn tại, thì sự kết hợp tốt nhất của các công cụ tức là một chuỗi công cụ mà tôi có thể kết hợp bằng cách sử dụng thứ gì đó như volo (hoặc grunt )?
Tôi đã nghiên cứu tất cả các công cụ mà tôi đã liên kết ở đây và chúng chỉ đáp ứng tối đa 3 yêu cầu của tôi ở từng cá nhân. Vì vậy, vui lòng không đăng lại về các công cụ này. Tôi chỉ chấp nhận câu trả lời cung cấp một công cụ duy nhất đáp ứng tất cả 5 yêu cầu của tôi hoặc nếu ai đó đăng một quy trình làm việc / tập lệnh / ví dụ làm việc cụ thể về chuỗi công cụ gồm nhiều công cụ như vậy cũng đáp ứng tất cả các yêu cầu của tôi. Cảm ơn bạn.
require
cú pháp cho trình duyệt xem xét browserify