我使用es6 / 7在sails js中编写后端,并且我已经定义了一个执行后台任务的类。
现在从this StackOverflow帖子我了解到后台任务应该在config / bootstrap.js启动。所以我将以下内容放在该文件中:
import BackgroundService from '../api/services/backgroundService.js';
module.exports.bootstrap = function(cb) {
backgroundService= new BackgroundService();
backgroundService.run();
cb();
};
现在我正在获得典型的转换器错误:
import BackgroundService from '../api/services/backgroundService.js';
^^^^^^
SyntaxError: Unexpected reserved word[...]
或者,当我用require替换导入时:
TypeError: Cannot call a class as a function
(指的是BackgroundService类的实例化)
这表示文件未及时或根本没有被转换 我还没找到解决办法。
有什么想法吗?
答案 0 :(得分:0)
不确定您的问题是否仍然存在,但确实如此:nodejs目前不支持es6 import
。你可以采用旧的方式
const BackgroundService = require('../api/services/backgroundService.js');
或使用babel。对于帆,我建议sails babel
注意:根据您应用的全局配置,您根本不需要导入services
。如果您已激活全局变量,则可以直接调用backgroundService