![](/img/trans.png)
[英]Node.js Object function Number() { [native code] } has no method 'isInteger'
[英]Node.js TypeError: Object function Object() { [native code] } has no method 'assign'
每当我执行我的程序时,我都会收到以下TypeError
:
/home/Node-Project/node_modules/sentiment/lib/index.js:31
afinn = Object.assign(afinn, inject);
^
TypeError: Object function Object() { [native code] } has no method 'assign'
at module.exports (/home/Node-Project/node_modules/sentiment/lib/index.js:31:24)
at EventEmitter.<anonymous> (/home/Node-Project/twit4.js:17:9)
at EventEmitter.emit (events.js:95:17)
at EventEmitter.processTweet (/home/Node-Project/node_modules/ntwitter/lib/twitter.js:242:14)
at EventEmitter.emit (events.js:95:17)
at EventEmitter.receive (/home/Node-Project/node_modules/ntwitter/lib/parser.js:44:12)
at IncomingMessage.<anonymous> (/home/Node-Project/node_modules/ntwitter/lib/twitter.js:258:16)
at IncomingMessage.emit (events.js:95:17)
at IncomingMessage.<anonymous> (_stream_readable.js:765:14)
at IncomingMessage.emit (events.js:92:17)
我搜索但我无法理解这个错误。
我必须安装特殊模块吗?
我是否需要更新Node或npm?
我的程序中有错误吗?
这是我的计划:
var twitter = require('ntwitter');
var credentials = require('./credentials3.js');
var sentiment = require ('sentiment');
var twit = new twitter({
consumer_key: credentials.consumer_key,
consumer_secret: credentials.consumer_secret,
access_token_key: credentials.access_token_key,
access_token_secret: credentials.access_token_secret
});
twit.stream('statuses/filter',{ 'locations':'loc'},
function(stream) {
stream.on('data', function(tweet) {
var twitterSentiment, geoColor;
sentiment(tweet.text, function (err, result) {
twitterSentiment = result;
if (result == 0) {
geoColor = '#B5B5B5';
} else if (result < 0) {
geoColor = '#FC0828';
} else {
geoColor = '#00DE1E';
} console.log(result);
});
});
});
有人可以解释一下吗?
只有Node.js v4及更高版本内置了Object.assign
。
如果您使用的是旧版本的Node,则可以使用像object.assign这样的polyfill 。
在Cordova项目中出现这种错误,添加此代码已解决了我的问题;
if (typeof Object.assign != 'function') {
Object.assign = function (target, varArgs) {
'use strict';
if (target == null) {
throw new TypeError('Cannot convert undefined or null to object');
}
var to = Object(target);
for (var index = 1; index < arguments.length; index++) {
var nextSource = arguments[index];
if (nextSource != null) {
for (var nextKey in nextSource) {
if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
to[nextKey] = nextSource[nextKey];
}
}
}
}
return to;
};
}
来源: https : //github.com/auth0/auth0-cordova/issues/46#issuecomment-311923820
可能是我来不及了。 我遇到了同样的问题,并在下面进行排序。 从nodejs.org网站下载并安装最新版本的节点。 参考视频https://docs.npmjs.com/getting-started/installing-node并检查节点版本(node -v),希望它应该是v6 +。 希望它能解决你的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.