Javascript ReactDom未使用react和webpack定义

Javascript ReactDom未使用react和webpack定义,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,我遵循了这个简单的教程()开始使用React和webpack,但在尝试使用更新的语法时遇到了问题。i、 e.使用ReactDom调用render,而不是不推荐使用的“React.renderComponent” 我跑过: npm install --save react-dom 并补充说 var ReactDom = require('react-dom') 添加到index.jsx文件并添加 'react-dom': 'ReactDom' 到webpack.config.js中的“外部”

我遵循了这个简单的教程()开始使用React和webpack,但在尝试使用更新的语法时遇到了问题。i、 e.使用ReactDom调用render,而不是不推荐使用的“React.renderComponent”

我跑过:

npm install --save react-dom
并补充说

var ReactDom = require('react-dom')
添加到index.jsx文件并添加

'react-dom': 'ReactDom'
到webpack.config.js中的“外部”列表。(我不确定这是否必要。)

然而,我得到的javascript错误是ReactDom没有定义

webpack.config.js:

module.exports = {
entry: './index.jsx',
output: {
    filename: 'bundle.js', //this is the default name, so you can skip it
    //at this directory our bundle file will be available
    //make sure port 8090 is used when launching webpack-dev-server
    publicPath: 'http://localhost:8090/assets'
},
module: {
    loaders: [
        {
            //tell webpack to use jsx-loader for all *.jsx files
            test: /\.jsx$/,
            loader: 'jsx-loader?insertPragma=React.DOM&harmony'
        }
    ]
},
externals: {
    //don't bundle the 'react' npm package with our bundle.js
    //but get it from a global 'React' variable
    'react': 'React'
},
resolve: {
    extensions: ['', '.js', '.jsx']
}
}

如果这是您的代码的精确副本,那么我认为您错误地引用了ReactDOM-DOM中的所有字母都需要大写,如下所示:

var ReactDOM = require('react-dom');
在webpack.config.js外部文件中:

'react-dom': 'ReactDOM'
请注意,在设置外部时,Webpack希望您单独加载这些库。例如,在HTML(index.HTML)中放置一个脚本标记,指向CDN以反应和反应dom或这两个库的内部副本。所以,这也可能是你有问题的原因


如果要使用节点模块附带的React和ReactDOM版本,请省略Webpack的externals设置。它会将React和ReactDOM与您自己的脚本捆绑在一起(使bundle.js更长),但它可以工作。据我所知,还有其他几种处理方法(如使用Express公开节点模块中的相关文件),但似乎很多人只是简单地将它们捆绑在一起。

Mike请尝试选择一个问题标题,该标题描述您的问题,其他人可以使用google或Bing找到类似问题。一切看起来都很好。应该有用。你不需要外表。你能同时添加你的网页配置吗?谢谢,我们会调查的!我添加了一些关于外部的更多信息,以防您遇到问题。这一条同样适用于
“react dom”:“react.\u SECRET\u dom\u NOT\u USE\u OR\u YOU\u WILL\u fire”