Node.js 无法使用npm';请求';我的Aurelia应用程序中的软件包

Node.js 无法使用npm';请求';我的Aurelia应用程序中的软件包,node.js,npm,aurelia,Node.js,Npm,Aurelia,我尝试使用一个来自WindowsAzure的非常基本的API调用来翻译一些文本。他们给出了一个快速入门示例代码 我尝试了这段代码,效果很好。文本Hello world被翻译成deutch和意大利语 我删除了我的个人订阅密钥 以下是示例: const request = require('request'); const uuidv4 = require('uuid/v4'); const subscriptionKey = '........'; let options = { me

我尝试使用一个来自WindowsAzure的非常基本的API调用来翻译一些文本。他们给出了一个快速入门示例代码

我尝试了这段代码,效果很好。文本
Hello world
被翻译成deutch和意大利语

我删除了我的个人订阅密钥

以下是示例:

const request = require('request');
const uuidv4 = require('uuid/v4');

const subscriptionKey = '........';

let options = {
    method: 'POST',
    baseUrl: 'https://api.cognitive.microsofttranslator.com/',
    url: 'translate',
    qs: {
      'api-version': '3.0',
      'to': ['de', 'it']
    },
    headers: {
      'Ocp-Apim-Subscription-Key': subscriptionKey,
      'Content-type': 'application/json',
      'X-ClientTraceId': uuidv4().toString()
    },
    body: [{
          'text': 'Hello World!'
    }],
    json: true,
};

request(options, function(err, res, body){
    console.log(JSON.stringify(body, null, 4));
});
"dependencies": {
    ....
    "@types/request": "^2.48.2",
    "@types/uuidv4": "^2.0.0",
    ...
    "request": "^2.88.0"
    "uuidv4": "^4.0.0",
}
"dependencies": [
      ...
      "uuidv4",
      "request"
]
import * as request from 'request';
import * as uuidv4 from 'uuidv4';
import secret from '../secret';

export class Translator {
    constructor() { }
    translate() {

        let options = {
            method: 'POST',
            baseUrl: 'https://api.cognitive.microsofttranslator.com/',
            url: 'translate',
            qs: {
                'api-version': '3.0',
                'to': ['de', 'it']
            },
            headers: {
                'Ocp-Apim-Subscription-Key': secret.translatorKey,
                'Content-type': 'application/json',
                'X-ClientTraceId': uuidv4().toString()
            },
            body: [{
                 'text': 'Hello World!'
            }],
            json: true,
        };

        request(options, function (err, res, body) {
            console.log(JSON.stringify(body, null, 4));
        });

    }
}
现在我需要将此代码集成到我的应用程序中

我使用Aurelia CLI

以下是我所做的:

添加到package.json:

const request = require('request');
const uuidv4 = require('uuid/v4');

const subscriptionKey = '........';

let options = {
    method: 'POST',
    baseUrl: 'https://api.cognitive.microsofttranslator.com/',
    url: 'translate',
    qs: {
      'api-version': '3.0',
      'to': ['de', 'it']
    },
    headers: {
      'Ocp-Apim-Subscription-Key': subscriptionKey,
      'Content-type': 'application/json',
      'X-ClientTraceId': uuidv4().toString()
    },
    body: [{
          'text': 'Hello World!'
    }],
    json: true,
};

request(options, function(err, res, body){
    console.log(JSON.stringify(body, null, 4));
});
"dependencies": {
    ....
    "@types/request": "^2.48.2",
    "@types/uuidv4": "^2.0.0",
    ...
    "request": "^2.88.0"
    "uuidv4": "^4.0.0",
}
"dependencies": [
      ...
      "uuidv4",
      "request"
]
import * as request from 'request';
import * as uuidv4 from 'uuidv4';
import secret from '../secret';

export class Translator {
    constructor() { }
    translate() {

        let options = {
            method: 'POST',
            baseUrl: 'https://api.cognitive.microsofttranslator.com/',
            url: 'translate',
            qs: {
                'api-version': '3.0',
                'to': ['de', 'it']
            },
            headers: {
                'Ocp-Apim-Subscription-Key': secret.translatorKey,
                'Content-type': 'application/json',
                'X-ClientTraceId': uuidv4().toString()
            },
            body: [{
                 'text': 'Hello World!'
            }],
            json: true,
        };

        request(options, function (err, res, body) {
            console.log(JSON.stringify(body, null, 4));
        });

    }
}
添加到aurelia.json:

const request = require('request');
const uuidv4 = require('uuid/v4');

const subscriptionKey = '........';

let options = {
    method: 'POST',
    baseUrl: 'https://api.cognitive.microsofttranslator.com/',
    url: 'translate',
    qs: {
      'api-version': '3.0',
      'to': ['de', 'it']
    },
    headers: {
      'Ocp-Apim-Subscription-Key': subscriptionKey,
      'Content-type': 'application/json',
      'X-ClientTraceId': uuidv4().toString()
    },
    body: [{
          'text': 'Hello World!'
    }],
    json: true,
};

request(options, function(err, res, body){
    console.log(JSON.stringify(body, null, 4));
});
"dependencies": {
    ....
    "@types/request": "^2.48.2",
    "@types/uuidv4": "^2.0.0",
    ...
    "request": "^2.88.0"
    "uuidv4": "^4.0.0",
}
"dependencies": [
      ...
      "uuidv4",
      "request"
]
import * as request from 'request';
import * as uuidv4 from 'uuidv4';
import secret from '../secret';

export class Translator {
    constructor() { }
    translate() {

        let options = {
            method: 'POST',
            baseUrl: 'https://api.cognitive.microsofttranslator.com/',
            url: 'translate',
            qs: {
                'api-version': '3.0',
                'to': ['de', 'it']
            },
            headers: {
                'Ocp-Apim-Subscription-Key': secret.translatorKey,
                'Content-type': 'application/json',
                'X-ClientTraceId': uuidv4().toString()
            },
            body: [{
                 'text': 'Hello World!'
            }],
            json: true,
        };

        request(options, function (err, res, body) {
            console.log(JSON.stringify(body, null, 4));
        });

    }
}
在我的控制台内运行
npm安装

创建了一个测试页面:

const request = require('request');
const uuidv4 = require('uuid/v4');

const subscriptionKey = '........';

let options = {
    method: 'POST',
    baseUrl: 'https://api.cognitive.microsofttranslator.com/',
    url: 'translate',
    qs: {
      'api-version': '3.0',
      'to': ['de', 'it']
    },
    headers: {
      'Ocp-Apim-Subscription-Key': subscriptionKey,
      'Content-type': 'application/json',
      'X-ClientTraceId': uuidv4().toString()
    },
    body: [{
          'text': 'Hello World!'
    }],
    json: true,
};

request(options, function(err, res, body){
    console.log(JSON.stringify(body, null, 4));
});
"dependencies": {
    ....
    "@types/request": "^2.48.2",
    "@types/uuidv4": "^2.0.0",
    ...
    "request": "^2.88.0"
    "uuidv4": "^4.0.0",
}
"dependencies": [
      ...
      "uuidv4",
      "request"
]
import * as request from 'request';
import * as uuidv4 from 'uuidv4';
import secret from '../secret';

export class Translator {
    constructor() { }
    translate() {

        let options = {
            method: 'POST',
            baseUrl: 'https://api.cognitive.microsofttranslator.com/',
            url: 'translate',
            qs: {
                'api-version': '3.0',
                'to': ['de', 'it']
            },
            headers: {
                'Ocp-Apim-Subscription-Key': secret.translatorKey,
                'Content-type': 'application/json',
                'X-ClientTraceId': uuidv4().toString()
            },
            body: [{
                 'text': 'Hello World!'
            }],
            json: true,
        };

        request(options, function (err, res, body) {
            console.log(JSON.stringify(body, null, 4));
        });

    }
}
不幸的是,它不起作用。我注意到当
au运行时
我收到了一些警告:

警告[StubNodejs]core Node.js模块“fs”没有可用的存根,存根为空模块

警告[StubNodejs]core Node.js模块“net”没有可用的存根,存根为空模块

警告[StubNodejs]core Node.js模块“tls”没有可用的存根,存根为空模块

顺便说一句,当我试图在浏览器中访问我的aurelia应用程序时,控制台中出现了错误


如果我删除了添加在
aurelia.json
中的引用
“request”
,那么我不会收到这些警告,我可以运行我的aurelia应用程序。因此,问题似乎出现在这个
请求
npm包上。它与Aurelia不兼容吗?

它看起来像是
节点的服务器端库。您需要使用客户端库来发出请求,例如。谢谢,我不知道。我试图用aurelia fetch客户端替换请求方法,但飞行前请求不允许Get
重定向
错误。为了清楚起见,我将在另一个SO问题中寻求帮助。它的可能副本看起来像是
节点的服务器端库。您需要使用客户端库来发出请求,例如。谢谢,我不知道。我试图用aurelia fetch客户端替换请求方法,但飞行前请求不允许Get
重定向
错误。为了清楚起见,我将在另一个SO问题中寻求帮助。可能重复的