私はReact(@ 13.3)でbabelとwebpackで遊んでいます。リアクトは全世界的に利用可能です。
私はこのように定義されたのコンポーネントがあります。
import BaseComponent from './BaseComponent';
export default class SomeComponent extends BaseComponent {
render() {
return (
<div>
<img src="http://placekitten.com/g/900/600"/>
</div>
);
}
}
をしかし、私は次のエラーを取得:私は、エラーを理解
Uncaught ReferenceError: React is not defined
を:JSXビットはReact.createElement(...)
しかしReact
ISNにコンパイルされます」インポートされていないので、現在のスコープ内にありません。
私の質問は この問題を回避するにはどうすればよいですか?どういうわけかwebpackでReact
をグローバルに公開しなければなりませんか?使用
ソリューション:
私はsalehenラーマン提案@続きます。私webpack.config.jsで
:私も私のテストを修正するために必要なので、私は、ファイルhelper.jsにこれを追加
module: {
loaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: 'react-hot!babel?plugins[]=react-require'
}, {
test: /\.css$/,
loader: 'style!css!autoprefixer?browsers=last 2 versions'
}]
},
:私のテストが、その後発売され
require('babel-core/register')({
ignore: /node_modules/,
plugins: ['react-require'],
extensions: ['.js']
});
次のコマンドで:
mocha --require ./test/helper.js 'test/**/*.js'
..テストのためにそれを解決していないあなたは「反応」インポートからリアクト 'みました; '? –
インポートReactはBaseComponentにある必要があります。 –
@JanakaStevensそれは問題ではありません。Reactが手動でインポートされなかったか、Reactが自動的にインポートされるような変換器がないかを考慮しても、上記のコードは実行されません。 –