【发布时间】:2018-02-15 09:21:44
【问题描述】:
我有一个非常简单的 node.js API
结构:
| project-name
| public
| index.html
| ... some static js/css
| app.js
| package.json
app.js
var express = require('express'),
bodyParser = require('body-parser'),
http = require('http');
var app = module.exports = express();
app.set('port', process.env.PORT || 8000);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(express.static(path.join(__dirname, 'public')));
app.route('/api/projects').get(...).post(...)
app.route('/api/sales').get(...).post(...)
app.get('*', function(req, res) {
res.sendFile(path.join(__dirname, 'public', 'index.html'));
});
// Starting express server
http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});
运行服务器 - node app.js
注意:这是一个学习项目,不用于生产。我只是想弄清楚这一切是如何协同工作的。
现在我想将ReactJS 添加到这个项目(实际上是public/index.html)。但我仍然想使用app.js 使用它的 api 运行服务器,使用相同的端口。
我知道如何进行“生产构建”(将所有 jsx 编译为 js 并用作简单脚本)。我的问题只是关于开发服务器。
我想要:
- 仅使用一个命令(
node app.js或nodemon app.js等)运行服务器 (api) 和客户端 (reactjs) - 在脚本更改后自动重新加载(似乎
nodemon可以做到)
【问题讨论】:
-
我建议你看看this post。它几乎解释了您要学习的所有内容。
-
@bennygenel 谢谢!很棒的文章
标签: javascript node.js reactjs express