Tôi muốn giữ tài liệu json để lưu trữ một số dữ liệu đơn giản và tôi muốn yêu cầu tài liệu này và sử dụng đối tượng json trong cuộc gọi define()
để tôi có thể sử dụng nó. Đây không phải là cuộc gọi "không đồng bộ". Tôi có nghĩa là nó nên được phát triển nhưng tôi muốn biên dịch các tập tin trên xây dựng không giống như một cuộc gọi async thực tế từ một API, nơi mà nội dung là năng động.requirejs tải tệp JSON tĩnh
Trả lời
Cách dễ nhất để thực hiện việc này là sử dụng plugin json requirejs cho việc này, điều này cũng sẽ cho phép bạn đưa tệp của mình vào bản dựng.
https://github.com/millermedeiros/requirejs-plugins
Dưới đây là một ví dụ:
require(['json!someFile.json'], function(data){
...
})
// It does not actually need to be a .json extension, this will work to:
require(['json!someFile'], function(data){
...
})
Nếu bạn muốn bao gồm các tập tin trong r.js bạn xây dựng để nó luôn được tối ưu hóa trong/main js bootstrap tập tin bạn cần phải thêm nó với tùy chọn bao gồm
Bạn cũng có thể sử dụng plugin văn bản yêu cầu js cho plugin này, thường được sử dụng để tải tệp mẫu nhưng bạn cũng có thể sử dụng nó để tải các tệp .json.
https://github.com/requirejs/text
Bạn sẽ phải phân tích các nội dung tự của bạn sau đó với JSON.parse
(Bao gồm json2.js để cung cấp hỗ trợ cho các trình duyệt cũ nếu đó là bắt buộc)
Bạn cũng có thể quấn json theo riêng của nó xác định() vì vậy bạn chỉ có thể yêu cầu nó theo truyền thống, nhưng điều đó sẽ không hoạt động nếu bạn bị giới hạn trong một tệp thực tế .json
.
Một tùy chọn khác là yêu cầu tệp văn bản máng ajax tự của bạn, với jquery hoặc một cái gì đó.
$.get('somefile.json', function(data) {
// do something with your data
});
Tôi đã đi với 'requirejs-plugins' và nó có một plugin' json' mà tôi đã bỏ qua. Nó sử dụng 'text' như một sự phụ thuộc. Cảm ơn! Tôi mới bắt đầu làm việc với requirejs hôm nay trên trình duyệt và nó thật tuyệt vời. Tôi vẫn hy vọng rằng khi tôi xây dựng nó sẽ ngừng sử dụng ajax để lấy tài liệu. – ThomasReggi
@ThomasReggi kiểm tra câu trả lời được điều chỉnh của tôi để biết thông tin về điều đó –
Tôi gặp sự cố khi sử dụng văn bản! cho nội dung JSON khi được kết hợp với r.js để tối ưu hóa. Chỉ cần một đầu lên. – SimplGy
viết bài này một câu trả lời, bởi vì:
- đó là những gì người dùng đặt ra câu hỏi thực sự sử dụng như giải pháp của họ
- nó sạch hơn để nhìn vào hơn đòi hỏi văn bản, vì nó luôn luôn làm việc JSON.parse() cho bạn.
RequireJS has a JSON plugin. Cú pháp chỉ đơn giản là:
require(['json!someData.json'], function(data){
...
})
cho những người tìm thấy điều này không rõ ràng, ["json!/Some/ajax/endpoint"] hoạt động tốt quá – penguat
Có thể tải tệp cục bộ không? – Erik
@erik Tôi thường sử dụng máy chủ web (qua gulp) để phát triển cục bộ để luôn tải URL http: // hoặc https: //. Tôi khuyên bạn nên làm như vậy. Nếu bạn đang hỏi về tệp: // URL, tôi không biết. – mikemaccana
- 1. Tải tệp JSON cục bộ vào biến
- 2. buộc văn bản RequireJS! để tải lại
- 3. Các tệp tĩnh Django sẽ không tải
- 4. tải json từ tệp vào đối tượng
- 5. Cách tải API Google Maps với RequireJS?
- 6. requirejs tải tiến trình tập lệnh
- 7. Tại sao requirejs đang cố tải .map?
- 8. requirejs - kết hợp nhiều tệp vào tệp js duy nhất không phụ thuộc vào requirejs
- 9. Sử dụng tệp cấu hình RequireJS làm tệp xây dựng?
- 10. Tại sao requirejs cố gắng nối thêm một tệp '.js' vào tệp .jst được tải bằng plugin văn bản!
- 11. Làm thế nào để tải ckeditor thông qua requirejs
- 12. Cách tải các tệp JSON cục bộ trong Javascript
- 13. Tải mô đun requireJS trong nội dung HTML?
- 14. Làm thế nào để tải knockout.validation với knockout trong requirejs
- 15. Requirejs, vấn đề trong tải thư viện nhấn
- 16. Làm thế nào để đạt được tải chậm với RequireJS?
- 17. tải json vào biến
- 18. RequireJS nạp chuỗi
- 19. jQuery UI Autocomplete sử dụng một tệp json tĩnh như nguồn
- 20. requireJS và LESS
- 21. RequireJS: Multiple main.js?
- 22. Phản hồi json xhr sẽ mở ra cửa sổ tải xuống tệp tải xuống
- 23. Django tải json địa phương tập tin
- 24. Cách tạo mô-đun requirejs với nhiều tệp
- 25. Đang tải JSON bằng PHP
- 26. JSON tải/đổ bằng Python
- 27. Tải lên JSON qua WebClient
- 28. định cấu hình nginx để phân phát các tệp json tĩnh
- 29. Shim Twitter Bootstrap cho RequireJS
- 30. tệp tĩnh với express.js
Chính xác thì câu hỏi của bạn là gì? bởi vì tôi không thấy bất kỳ vấn đề gì với điều đó. –
@ WillemD'haeseleer Vâng, tôi không chắc mình phải làm thế nào. Tôi không thể bao gồm tệp '.json' trong đường dẫn. – ThomasReggi