sails.js模糊错误消息。与xmlHttpRequest()

时间:2018-07-18 14:58:14

标签: javascript http sails.js newrelic

我正在使用sails.js在支持的应用程序中从newrelic见解中查询数据。我在通用控制器-> newrelic-> 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();
  }

请注意,该请求作为curl请求工作,因此数据正确,现在Sail引发以下警告。

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',

以防万一。

1 个答案:

答案 0 :(得分:1)

您似乎在混用控制器和操作,应该read here或继续阅读。

传统的控制器使用以小写字母结尾的 Controller ,例如。 NewrelicController.js,并且如上所述,是动作(功能)字典。

一个动作(功能)用烤肉串包装,例如api/controllers/newrelic/number-on-site.js

控制器

如果要生成Controller,则不要包含在文件夹中...

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集合相比,Controller需要的代码更少,尽管Sails v1.0中引入的Actions比Controllers更受青睐,因为它易于维护和调试。