由于某种原因,我们想在Backbone视图上加载React组件(使用Require.js)。这个React组件是使用Webpack 4.x捆绑的。
在Webpack配置中捆绑期间,我们已启用AMD / UMD模式。
...
...
module.exports = {
entry: {
componentName: ['./components/componentName/index.js']
},
amd: {
componentName: true
},
output: {
path: path.resolve(__dirname, './componentName'),
filename: '[name].js',
libraryTarget: 'umd',
library: 'componentName',
umdNamedDefine: true
},
externals: {
'react': 'react',
'react-dom': 'react-dom',
'react-dom-server': 'react-dom-server'
},
...
现在,我们正尝试在Backbone + Require.js应用程序中使用捆绑的React组件,在该应用程序中,如下所示加载React和ReactDOM(已启用UMD)
define([
'jquery',
'underscore',
'backbone',
'react',
'react-dom',
'componentName'
], function($, _, Backbone, React, ReactDOM, componentName) {
...
render: function() {
console.log(React, ReactDOM, componentName)
}
...
});
在这里,componentName总是以undefined
的形式出现,而React和ReactDOM正在正确加载。任何人都可以帮助了解我在这里缺少什么吗?