因此,我正在使用RequireJS和React,尝试加载已经安装的第三方组件:
npm install react-autocomplete
结构在这里:https://github.com/rackt/react-autocomplete/tree/master/lib
现在,当requireJS被加载时,我有一个main.js文件,看起来像这样:
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");
});
现在,所有内容都可以正常加载,但第三个 require 语句会抛出一个“模块未定义”的错误,该错误是针对第三方组件中的 main.js 文件的,它看起来像这样:module.exports = {
Combobox: require('./combobox'),
Option: require('./option')
};
我读到说这与我尝试要求 CommonJS 风格的模块有关,但由于我是新手,无法独立解决,希望有人能给我一个清晰的例子,告诉我如何解决这个问题。