如何使用 koa2 运行 简单的应用程序?
How to run simple app with koa2?
问题
我正在尝试 运行 使用 koa2 的简单 http 服务器,但是 运行 连接它时遇到问题。
它使用 es6 that is expected to work in future node.js 版本,我想知道如何 运行 它与 node v6.1.0
一起使用?
代码
import Koa from 'koa';
const app = new Koa();
// Setup handler.
app.use(async ctx => {
ctx.body = "Hello World!";
});
// Start server.
app.listen(3000);
输出
$ node --version
v6.1.0
$ node --harmony index.js
C:\Users\gevor\WebstormProjects\untitled1\index.js:1
(function (exports, require, module, __filename, __dirname) { import Koa from 'koa';
^^^^^^
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:511:25)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)
at Function.Module._load (module.js:407:3)
at Function.Module.runMain (module.js:575:10)
at startup (node.js:160:18)
at node.js:445:3
问题
我想知道如何 运行 我的应用程序?
类似问题
解决方案
我能够找到解决方法并将描述包括安装 Babel 模块
的解决方案
步骤 1 - 安装 Babel 和所需的预设
$ npm install babel-core --save
$ npm install babel-preset-es2015-node5 --save
$ npm install babel-preset-stage-3 --save
步骤 2 - 创建具有 babel-core/register
要求的 index.js
文件
// set babel in entry file
require('babel-core/register')({
presets: ['es2015-node5', 'stage-3']
});
require('./app');
步骤 3 - 将您的示例代码放入 app.js
import Koa from 'koa';
const app = new Koa();
// Setup handler.
app.use(async ctx => {
ctx.body = "Hello World!";
});
// Start server.
app.listen(3000);
在 运行 node index.js
服务器工作正常后,import
、async
、await
正在正确处理。
参考资料
将您的节点版本升级到至少 7.6 之后,无需使用 babel 转译您的代码,这在 production.Node >7.6 版本支持 async/await 中是可以避免的,这非常强大。
问题
我正在尝试 运行 使用 koa2 的简单 http 服务器,但是 运行 连接它时遇到问题。
它使用 es6 that is expected to work in future node.js 版本,我想知道如何 运行 它与 node v6.1.0
一起使用?
代码
import Koa from 'koa';
const app = new Koa();
// Setup handler.
app.use(async ctx => {
ctx.body = "Hello World!";
});
// Start server.
app.listen(3000);
输出
$ node --version
v6.1.0
$ node --harmony index.js
C:\Users\gevor\WebstormProjects\untitled1\index.js:1
(function (exports, require, module, __filename, __dirname) { import Koa from 'koa';
^^^^^^
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:511:25)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)
at Function.Module._load (module.js:407:3)
at Function.Module.runMain (module.js:575:10)
at startup (node.js:160:18)
at node.js:445:3
问题
我想知道如何 运行 我的应用程序?
类似问题
解决方案
我能够找到解决方法并将描述包括安装 Babel 模块
的解决方案步骤 1 - 安装 Babel 和所需的预设
$ npm install babel-core --save
$ npm install babel-preset-es2015-node5 --save
$ npm install babel-preset-stage-3 --save
步骤 2 - 创建具有 babel-core/register
要求的 index.js
文件
// set babel in entry file
require('babel-core/register')({
presets: ['es2015-node5', 'stage-3']
});
require('./app');
步骤 3 - 将您的示例代码放入 app.js
import Koa from 'koa';
const app = new Koa();
// Setup handler.
app.use(async ctx => {
ctx.body = "Hello World!";
});
// Start server.
app.listen(3000);
在 运行 node index.js
服务器工作正常后,import
、async
、await
正在正确处理。
参考资料
将您的节点版本升级到至少 7.6 之后,无需使用 babel 转译您的代码,这在 production.Node >7.6 版本支持 async/await 中是可以避免的,这非常强大。