我有一个react组件,我需要在另一个webpack2项目中作为节点模块加载。使用babelify我将react组件代码转换为普通的javascript代码。以下是我提供的转换配置。
browserify: {
dist: {
options: {
transform: [['babelify', {presets: ['es2015', 'react']}]],
external: ['react', 'react-dom']
},
src: ['src/index.js'],
dest: 'dist/comp-babelified.js',
}
}
它成功转换了代码。我可以将它加载到webpack应用程序中。但是当webpack应用程序加载到浏览器中时,会在浏览器控制台中收到以下错误。
Uncaught (in promise) Error: Cannot find module 'react'
如果我从browserify选项中删除external
,则会收到以下错误。
Uncaught (in promise) Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.
看起来它基本上无法加载反应组件。
如何解决此问题?
更新:我已经完成了Uncaught ReferenceError: React is not defined。我全球没有React。我期待webpack理解require('react')
已经在node_modules中可用。