Node.js 无法使用npm';请求';我的Aurelia应用程序中的软件包
我尝试使用一个来自WindowsAzure的非常基本的API调用来翻译一些文本。他们给出了一个快速入门示例代码 我尝试了这段代码,效果很好。文本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
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问题中寻求帮助。可能重复的