Tôi đang cố gắng quấn quanh đầu phụ thuộc vào requirejs.Bối rối về sự phụ thuộc của RequireJS
- Nếu tôi đã khai báo phụ thuộc cho tệp bằng cách sử dụng
shim
, tôi có cần phải khai báo lại khi tôi xác định mô-đun trong tệp đó không? - Nếu tôi sử dụng
require
để tải các phụ thuộc như xương sống, tôi có cần khai báo lại khi tôi xác định một mô-đun được tải như một phần củarequire
không?
Dưới đây là mã của tôi cho đến nay:
require.config({
//alias
paths: {
Backbone: 'libs/backbone-min',
Config: 'config',
Dom: 'dom',
App: 'app'
},
//dependencies
shim: {
'Backbone': ['libs/underscore-min'],
'Dom': ['libs/sizzle']
}
});
//used to load and use stuff
require(['Config','Dom','App','Backbone'], function(){
});
Vì vậy, trong dom.js
có thể tôi chỉ xác định một mô-đun sử dụng define(function(){...});
và bắt đầu sử dụng sizzle? Hoặc tôi vẫn cần phải xác định nó như thế này define(['libs/sizzle'], function(){...});
Ngoài ra nếu tôi xác định một mô-đun trong app.js, tôi vẫn cần tải xương sống trong define
, vì tôi đã thêm nó vào một phần của require()
.
nên về cơ bản 'Shim' chỉ đơn giản là tải các tập tin theo một thứ tự cụ thể và' require() 'tải các tập tin và làm không tương tác với các mô-đun –
Câu trả lời hay nhất về câu hỏi mà Shim thực sự làm là do tác giả James Burke của RequireJS đưa ra. Bạn có thể đọc thư đó trên url sau: https://groups.google.com/d/msg/requirejs/-han0L_Sv_E/iFttMxDkT1UJ – svlada