Vì vậy, tôi đang sử dụng RequireJS và phản ứng, cố gắng để tải một thành phần của bên thứ ba, mà đã được cài đặt với:module.exports "Module không được định nghĩa"
npm install react-autocomplete
Cấu trúc là ở đây: https://github.com/rackt/react-autocomplete/tree/master/lib
Bây giờ, tôi có một tập tin main.js, bắt đầu khi requireJS được nạp, trông như thế này:
require.config({
paths: {
"react" : "react/react",
"jsx-transformer" : "react/JSXTransformer",
"react-autocomplete" : "node_modules/react-autocomplete/lib/main"
}
});
require(["react"], function(react) {
console.log("React loaded OK.");
});
require(["jsx-transformer"], function(jsx) {
console.log("JSX transformer loaded OK.");
});
require(['react-autocomplete'], function (Autocomplete) {
console.log("React autocomplete component loaded OK.");
var Combobox = Autocomplete.Combobox;
var ComboboxOption = Autocomplete.Option;
console.log("Autocomplete initiated OK");
});
Bây giờ, tất cả tải OK, nhưng thứ ba yêu cầu tuyên bố ném một "mô-đun không phải là định nghĩa", cho các tập tin main.js trong thành phần của bên thứ ba, trông như thế này:
module.exports = {
Combobox: require('./combobox'),
Option: require('./option')
};
Tôi đã đọc về điều này đã làm với tôi cố gắng để yêu cầu một module CommonJS-phong cách, nhưng tôi không thể tìm ra cách tự sửa nó, vì tôi mới làm điều này.
Có ai có ví dụ rõ ràng về cách tôi có thể giải quyết vấn đề này không?
Phải, hãy đoán vấn đề là sau đó tôi sẽ không quan tâm đến thành phần của bên thứ ba. Nhưng cảm ơn! – joakimnorberg