Xin chào với RequireJS tôi có thể thiết lập một đường cơ sở như thế này: base : './app/'
vì thế khi tôi đang ở ./app/foo/bar/
ví dụ và tôi có một kịch bản mà tôi sử dụng require('foo');
RequireJS sau đó sẽ tìm kiếm ./app/foo.js
và không có trong node_module
thư mục hoặc trong ./app/foo/bar/foo.js
này đến tay khi bạn có một loại cấu trúc, nơi nó sẽ sạch hơn nhiều cho bạn với tư cách là nhà phát triển để xem phụ thuộc thay vì có ../../foo.js
. Tôi có thể có ./app/foo.js
và ./app/foo/foo.js
và ./app/foo/bar/foo.js
nó sẽ được nhiều hơn sạch hơn để có:Node.js yêu cầu() so với RequireJS?
require('foo');
require('foo/foo');
require('foo/bar/foo');
hơn:
require('../../foo');
require('../foo');
require('./foo');
Bây giờ bạn có thể nói tại sao không thay đổi tên và không có foo ở khắp mọi nơi, chúng ta hãy nói rằng chúng tôi không thể vì bất kỳ lý do gì…
Một thiếu tính năng khác mà tôi thấy trong phương pháp yêu cầu của nút đối với RequireJS là khả năng đặt ánh xạ đường dẫn, nếu tôi có thư mục có tên ./app/super-sized-directory-name/
trong RequireJS tôi chỉ đơn giản có thể làm 'big-dir' : 'super-sized-directory-name'
và sau đó tôi chỉ đơn giản là có thể sử dụng require('./app/big-dir/foo')
với Node.js của đòi hỏi phương pháp này là không thể thực hiện như xa như tôi biết ...
[modul8] (https://github.com/clux/modul8) hỗ trợ tính năng này thông qua tên miền nhưng cú pháp không tuân thủ nút.Tôi tin rằng trình duyệt chỉ hỗ trợ đường dẫn tệp tương đối – Raynos
@Raynos hello! Cảm ơn vì đã trả lời! Tôi đã thay đổi câu hỏi để làm rõ hơn, tôi sẽ xem xét modul8 từ cái nhìn đầu tiên có vẻ phức tạp hơn so với browserify, những gì tôi thích trong trình duyệt là nó biên dịch kịch bản và chấp nhận cà phê quá tuyệt vời – panosru
@Raynos Tôi đã kiểm tra lại modul8 và đọc tài liệu của nó cẩn thận hơn Tôi tin rằng nó rất tuyệt và có thể là những gì tôi đang tìm kiếm! Tôi sẽ kiểm tra nó ngay bây giờ :) – panosru