我正在关注this comment我被告知打开和声模式以便使用ReactJS v0.13的破坏作业。
我已经google了一下,无法找到关于如何打开它的好答案。
如果启用Harmony模式是一个坏主意,那么我必须使用ReactJS的最高版本是什么?
更新 开发工作流程将使用grunt或gulp。
答案 0 :(得分:1)
您的问题没有一个答案,因为它取决于您的开发构建工作流程。
如果您使用node-jsx
npm包,例如:
require('node-jsx').install({harmony: true});
如果您使用命令行编译器:
JSX filename -harmony
webpack有一个解决方案,grunt等。
WebPack例如使用加载程序标志:
// webpack.config.js
module.exports = {
entry: './main.js',
output: {
filename: 'bundle.js'
},
module: {
loaders: [
{ test: /\.jsx$/, loader: 'jsx-loader?harmony' }
]
},
resolve: {
// you can now require('file') instead of require('file.jsx')
extensions: ['', '.js', '.json', '.jsx']
}
};
option for gulp的作用如下:
var gulp = require('gulp');
var react = require('gulp-react');
gulp.task('default', function () {
return gulp.src('template.jsx')
.pipe(react({harmony: true})) // enable harmony features
.pipe(gulp.dest('dist'));
});
答案 1 :(得分:0)
如果您使用v0.11及更高版本的反应和jsx库的cdn版本
e.g。
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.0-beta.1/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.0-beta.1/JSXTransformer.js"></script>
只需相应更改脚本标记即可通过添加和谐模式;和谐=真实
<script type="text/jsx;harmony=true">
/** @jsx React.DOM */
var APP = React.createClass({
render: function() {
return (
<div>
<BButton className="btn-primary" href="javascript:alert('hello');" ><BHeart /> React</BButton> // and so on..