sails.js模糊的错误消息.使用xmlHttpRequest()



我正在使用sails.js从一个支持的应用程序中的newelite洞察中查询数据。我在公共控制器->newelite->number-on-site.js中的函数看起来像

fn: async function (inputs, exits) {
var client = new XMLHttpRequest();
client.open("GET", "https://insights-api.newrelic.com/v1/accounts/<acount_number>/query?nrql=SELECT ...", true);
client.setRequestHeader("Accept", "application/json");
client.setRequestHeader("X-Query-Key", "<my_key>");
client.send();
return exits.success();
}

请注意,is请求作为curl请求工作,因此数据是正确的,现在sails发出以下警告。

warn: Files in the `controllers` directory may be traditional controllers or
action files.  Traditional controllers are dictionaries of actions, with
pascal-cased filenames ending in "Controller" (e.g. MyGreatController.js).
Action files are kebab-cased (e.g. do-stuff.js) and contain a single action.
The following file was ignored for not meeting those criteria:
warn: - newrelic.ts

这个字符串到底要说什么?随便在谷歌上搜索这条错误消息都不会发现任何结果。它几乎像我有命名问题一样接缝,但我使用了

sails generate action newrelic.numberOnSite

生成这个控制器,所以我不确定发生了什么。

编辑我的路线如下:

'/newrelic/numberOnSite': 'newrelic.numberOnSite',

以防有帮助。

看起来您正在混合控制器和操作,您应该在此处阅读或继续阅读。

传统控制器使用以controller结尾的pascal大小写,例如NewrelicController.js,并且如上所述,它是动作(函数(的字典。

动作(函数(的大小写为烤肉串,例如api/controllers/newrelic/number-on-site.js

控制器

如果你正在生成一个控制器,那么不要包含在文件夹中。。。

sails generate controller newrelic numberOnSite

然后在你的routes.js中,你会按照这样的路线。。。

'GET /newrelic/numberOnSite': 'NewrelicController.numberOnSite',

操作

如果您正在生成一个操作,则将这些操作包含在一个文件夹中。。。

sails generate action newrelic/numberOnSite

然后在你的routes.js中,你会按照这样的路线。。。

'GET /newrelic/numberOnSite': {action:'newrelic/number-on-site'},

与操作集合相比,控制器需要更少的代码,尽管Sails v1.0中引入的操作比控制器更容易维护和调试,因此更受欢迎。

最新更新