所以我一直在学习 react,并想做一个基本的 firepad 实例。我当前的设置是在我的 index.html 中有一个容器 div,并让我的所有反应组件都通过该 div 呈现。我目前的尝试和我展示的代码都是在 gulp 和 browserify 的环境中,但我也在玩 ES6 和 webpack。因此,在我学习的过程中,我非常灵活地让这项工作发挥作用。这是代码:
"use strict"
var React = require('react')
, Firebase = require('firebase')
, fbRoot = 'myURL'
, CodeMirror = require('codemirror')
, Firepad = require('firepad')
, firepadRef = new Firebase(fbRoot + 'session/')
, myCodeMirror = CodeMirror(document.getElementById('firepad'), {lineWrapping: true})
, myFirePad = Firepad.fromCodeMirror(firepadRef, myCodeMirror, { richTextShortcuts: true, richTextToolbar: true, defaultText: 'Hello, World!'});
var WritePage = React.createClass({
render: function(){
return (
<div>
<div id="firepad"></div>
</div>
);
}
});
module.exports = WritePage;
我得到的第一个错误是它找不到 codemirror.js 文件。尽管在 Chrome 的开发工具中正确定义了 CodeMirror,但我将其从需要 npm 包转移到仅将 2 个所需的 codemirror 文件链接到我的 html。然后它给了我一个关于无法获取未定义的 .replaceChild 的错误。然后我尝试将所有依赖文件移动到我的 index.html,但仍然有相同的 .replaceChild 错误。任何人都对 react 和 firepad 有任何经验吗?我在 reactfire 文档中读到,这是从 firebase 绑定到我的网站的一种方式,对于我来说,制作一个只读的 firepad 就可以了。就像我说的,我很灵活所有这些东西对我来说都是新的。