如果您希望在页面加载时加载所有html,则应在构建过程或服务器中动态创建脚本:
var PAGE_HTML={"page1.html": "...","page2.html":"..."};
您可以在节点中为这样的目录执行此操作:
var readAll = require('read-dir-files').read;
readAll('./pages', 'utf-8', false, function(err, files){
if (err) return doSomething(err);
fs.writeFile('dist/pages.js', "var PAGE_HTML=" + JSON.stringify(files), function(err){
// ...
});
});
在React中,您可以使用如下结构:
var App = React.createClass({
getInitialState: function(){ return {page: "page2.html"} },
navigate: function(toPage){
this.setState({page: toPage})
},
render: function(){
return
- Page 1
}
});
附注:对于内容页面内容使用React组件没有任何问题,它不是所有类型内容的最佳格式.如果您需要一个页面,您将拥有大量交互式组件,那么将其表示为一个组件可能是有意义的.