在 Node 中使用 Koa2 和 Babel
Using Koa2 with Babel in Node
我知道我在这里遗漏了一些东西。我通过 babel 运行 节点并在我的服务器上使用 koa2。对此相当陌生,所以不太确定我错过了什么,因为我在网上参考了很多东西。
版本:Node 6.4、babel-core 6.14.0、babel-polyfill": 6.13.0
遇到一个有趣的错误。看起来好像没有以某种方式生产发电机。
assert.js:89
throw new assert.AssertionError({
^
AssertionError: app.use() requires a generator function
at Application.app.use (/Users/administrator/Dropbox/Development/moonlite/moonlitewww/node_modules/koa/lib/application.js:106:5)
这是我 运行 的优点:
Package.json
"start:dev": "node -r babel-core/register index.js",
.Babelrc
{
"presets": ["es2015", "react", "stage-3"]
}
Index.js
require("babel-polyfill");
import nodeServer from "./web-server.js";
var config = {
prod: process.env.NODE_ENV === "production",
serverPort: process.env.PORT || 3000
};
nodeServer(config);
网络-server.js
import Koa from 'koa';
import koaRouter from 'koa-router';
import send from 'koa-send';
import serve from 'koa-serve';
import logger from 'koa-logger';
const router = koaRouter();
const app = new Koa();
export default (config) => {
app.use(logger());
app.use(serve(__dirname + '/client/build'));
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(config.serverPort, () => {
console.log('Server running on port:' + config.serverPort);
});
};
我在这里错过了什么?
我的菜鸟错误。我正在合并来自另一个 package.json 文件的包,并且 koa 以某种方式恢复到 1.x 分支。正在追一只红色的哈林,以为它是通天塔。
如果您看到类似的错误,请仔细检查您的 koa 版本,然后像这样升级到 koa2:
npm install koa@next --save
"NOW YOU KNOW, AND KNOWING IS HALF THE BATTLE..."
我知道我在这里遗漏了一些东西。我通过 babel 运行 节点并在我的服务器上使用 koa2。对此相当陌生,所以不太确定我错过了什么,因为我在网上参考了很多东西。
版本:Node 6.4、babel-core 6.14.0、babel-polyfill": 6.13.0
遇到一个有趣的错误。看起来好像没有以某种方式生产发电机。
assert.js:89
throw new assert.AssertionError({
^
AssertionError: app.use() requires a generator function
at Application.app.use (/Users/administrator/Dropbox/Development/moonlite/moonlitewww/node_modules/koa/lib/application.js:106:5)
这是我 运行 的优点:
Package.json
"start:dev": "node -r babel-core/register index.js",
.Babelrc
{
"presets": ["es2015", "react", "stage-3"]
}
Index.js
require("babel-polyfill");
import nodeServer from "./web-server.js";
var config = {
prod: process.env.NODE_ENV === "production",
serverPort: process.env.PORT || 3000
};
nodeServer(config);
网络-server.js
import Koa from 'koa';
import koaRouter from 'koa-router';
import send from 'koa-send';
import serve from 'koa-serve';
import logger from 'koa-logger';
const router = koaRouter();
const app = new Koa();
export default (config) => {
app.use(logger());
app.use(serve(__dirname + '/client/build'));
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(config.serverPort, () => {
console.log('Server running on port:' + config.serverPort);
});
};
我在这里错过了什么?
我的菜鸟错误。我正在合并来自另一个 package.json 文件的包,并且 koa 以某种方式恢复到 1.x 分支。正在追一只红色的哈林,以为它是通天塔。
如果您看到类似的错误,请仔细检查您的 koa 版本,然后像这样升级到 koa2:
npm install koa@next --save
"NOW YOU KNOW, AND KNOWING IS HALF THE BATTLE..."