我正在尝试将alexa-app-server
与我在ES6中编写的一些需要编译的代码一起使用。当我运行自己的服务器时,我希望不必提前单独进行转换,只需包含文件server.js
:
require("babel-register")({ignore: false, presets: ["es2015"]});
const AlexaAppServer = require("alexa-app-server");
AlexaAppServer.start({
port: process.env.PORT || 8080,
app_dir: "apps",
});
然后我apps/skill/index.js
与:
import alexa from "alexa-app";
const skill = new alexa.app("skill");
skill.launch((req, res) => res.say("hello"));
skill.intent("TestIntent", ["test"], (req, res) => res.say("test"));
export const express = skill.express;
express
导出适用于alexa-app-server需要文件时:https://github.com/alexa-js/alexa-app-server/blob/master/index.js#L68
当我运行我的服务器代码时,我得到:
Error loading app [/Users/acrites/projects/mobq/usbank/functions/usbank/index.js]: SyntaxError: Unexpected token import
这向我表明该文件未被翻译。 alexa-app-server
位于node_modules
,但我使用ignore: false
as indicated in the babel documentation来包含node_modules
,但由于所包含的文件实际上不在node_modules
中我甚至不确定这是否必要。使用babel-node server.js
做同样的事情。但是,运行babel-node apps/skill
可以正常工作。
有没有办法让babel在node_modules
内转换自己需要的文件?