我试图使用NPM创建一个琐碎的页面并作出反应。
index.html文件:
<html lang="en">
<head>
<meta charset="utf-8">
<title> Flux Comment Box </title>
</head>
<body>
<section id="react"></section>
<script src="js/bundle.js"></script>
</body>
</html>./js/app.js
var CommentBox = require('./components/CommentBox.react');
var React = require('react');
window.React = React;
React.render( <CommentBox />, document.getElementById('react'));./components/CommentBox.react.js
var CommentStore = require('../stores/CommentStore');
var React = require('react');
var CommentBox = React.createClass ({
render: function () {
return (
<div> HI </div>
);
},
});
module.exports(CommentBox);当我做"npm“(我的package.json应该很好,我会在下面发布),上面写着
2870222 bytes written to js/bundle.js (2.44 seconds)但是index.html是一个没有错误或警告的空白页面。这怎么回事?
供参考,这是我的package.json
{
"name": "Basic-comment-box",
"version": "0.0.1",
"description": "Basic flux project",
"main": "js/app.js",
"dependencies": {
"classnames": "^2.1.3",
"flux": "^2.0.0",
"keymirror": "~0.1.0",
"object-assign": "^1.0.0",
"react": "^0.12.0"
},
"devDependencies": {
"browserify": "^6.2.0",
"envify": "^3.0.0",
"jest-cli": "^0.4.3",
"reactify": "^0.15.2",
"uglify-js": "~2.4.15",
"watchify": "^2.1.1"
},
"scripts": {
"start": "watchify -o js/bundle.js -v -d js/app.js",
"build": "browserify . -t [envify --NODE_ENV production] | uglifyjs -cm > js/bundle.min.js",
"test": "jest"
},
"author": "Timothy Chu",
"license": "Apache 2",
"browserify": {
"transform": [
"reactify",
"envify"
]
},
"jest": {
"rootDir": "./js"
}
}发布于 2016-07-02 12:45:33
1.for render您应该在ReactDOM中使用ReactDOM
var React = require('react');
var ReactDOM = require('react-dom');
ReactDOM.render( <CommentBox />, document.getElementById('react'));2.reactify是不可取的:使用https://github.com/babel/babelify代替(确保您配置了Babel -预设-reactify)。
https://stackoverflow.com/questions/38159146
复制相似问题