2016-09-08 2 views
1

Я знаю, что мне что-то не хватает. Я запускаю узел через babel и использую koa2 на моем сервере. Довольно неожиданно для этого, так что я не совсем уверен, чего мне не хватает, поскольку я упоминал много вещей в Интернете.Использование Koa2 с Babel в узле

Версия: Узел 6,4, столпотворение одножильных 6.14.0, столпотворение-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); 
    }); 

}; 

Что я здесь отсутствует?

ответ

0

Noob ошибка с моей стороны. Я объединил пакеты из другого файла package.json, и каким-то образом koa вернулась обратно в ветвь 1.x. Преследовал красноватую мысль о том, что это был вавилон.

Если вы видите подобную ошибку дважды проверить КОА версию и обновить koa2 так:

npm install [email protected] --save


«Теперь вы знаете, и зная это полдела .. . "

Смежные вопросы