Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.05.2015, 12:17
Новичок на форуме
Отправить личное сообщение для Blackmilk Посмотреть профиль Найти все сообщения от Blackmilk
 
Регистрация: 19.05.2015
Сообщений: 5

Uncaught node.js Error
Ребзя,спасайте,в общем установил я Kite & Lightning для скачивания демки на окулус рифт , при нажатии кнопочки "download" вылезает вот это "
Uncaught node.js Error

TypeError: Cannot read property 'senzaPeso' of null
at getDownloadUrl (C:\Users\sba\AppData\Local\Temp\nw1268_20379\app\ Downloader.js:32:79)
at Downloader.downloadFile [as download] (C:\Users\sba\AppData\Local\Temp\nw1268_20379\app\ Downloader.js:122:17)
at ItemView.<anonymous> (C:\Users\sba\AppData\Local\Temp\nw1268_20379\app\ Item.js:199:16)
at l (file:///C:/Users/sba/AppData/Local/Temp/nw1268_20379/vendor.js:11879:2300)
at ItemView.b.trigger (file:///C:/Users/sba/AppData/Local/Temp/nw1268_20379/vendor.js:11879:1703)
at HTMLButtonElement.<anonymous> (file:///C:/Users/sba/AppData/Local/Temp/nw1268_20379/ui.js:31:12)
at HTMLButtonElement.n.event.dispatch (file:///C:/Users/sba/AppData/Local/Temp/nw1268_20379/vendor.js:3:6404)
at HTMLButtonElement.r.handle (file:///C:/Users/sba/AppData/Local/Temp/nw1268_20379/vendor.js:3:3179)
"
Изображения:
Тип файла: jpg ffff.jpg (34.9 Кб, 1 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 19.05.2015, 12:34
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Blackmilk,
из ошибки видно, что ты пытаешься использовать свойство "senzaPeso" у null.
Ответить с цитированием
  #3 (permalink)  
Старый 19.05.2015, 12:37
Новичок на форуме
Отправить личное сообщение для Blackmilk Посмотреть профиль Найти все сообщения от Blackmilk
 
Регистрация: 19.05.2015
Сообщений: 5

И как мне это исправить ?
Ответить с цитированием
  #4 (permalink)  
Старый 19.05.2015, 12:53
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Blackmilk,
откуда мне знать? Ты ничего не дал кроме кода ошибки.
Ответить с цитированием
  #5 (permalink)  
Старый 19.05.2015, 12:55
Новичок на форуме
Отправить личное сообщение для Blackmilk Посмотреть профиль Найти все сообщения от Blackmilk
 
Регистрация: 19.05.2015
Сообщений: 5

var Promise = require('bluebird')
, fs = require('fs-extra')
, os = require('os')
, path = require('path')
, request = require('request')
, progress = require('request-progress')
, DecompressZip = require('decompress-zip')
, exec = Promise.promisify(require('child_process').exec)
, BackboneEvents = require("backbone-events-standalone")
, injector = require('../injector').getInstance()

var rm = Promise.promisify(fs.remove)
, cp = Promise.promisify(fs.copy)

// events
var CLEANING = 'cleaning'
, EXTRACTING = 'extracting'
, PROGRESS = 'progress'
, COMPLETE = 'complete'
, COPYING = 'copying'

function Downloader(versions) {

var tmpDir = os.tmpDir()
, self = this

function mac() {
return process.platform === 'darwin'
}

function getDownloadUrl(download) {
var path = mac() ? versions[download.stringsKey]['mac']['path'] : versions[download.stringsKey]['win']['path']
return injector.inject('serverBaseUrl') + path
}

function getDownloadPath(download, pickNew) {
if (pickNew === true) {
tmpDir = os.tmpDir()
}
return path.join(tmpDir, path.basename(getDownloadUrl(download)))
}

function getApplicationsFolder(download) {
if (mac()) {
return path.join('/Applications', 'Kite & Lightning')
} else {
console.log('download.win64:', download.win.win64)
if (download.win.win64 === true) {
return path.join('C:/', 'Program Files', 'Kite & Lightning')
} else {
return path.join('C:/', 'Program Files (x86)', 'Kite & Lightning')
}
}
}

// this is where the unzipped file gets stored
function getSaveAsPath(download) {
if (mac()) {
return path.join(getApplicationsFolder(download), download.mac.saveAs)
} else {
return path.join(getApplicationsFolder(download), download.win.saveAs)
}
}

function copyFromDmg(download) {
console.log('opening dmg...')
// attach the .dmg, nobrowse prevents the dmg from popping up in the Finder
return exec('hdiutil attach ' + getDownloadPath(download) + ' -nobrowse')
.then(function () {
console.log(COPYING)
var copyFrom = path.join('/Volumes', download.mac.dmgName, download.mac.saveAs)
, copyTo = getSaveAsPath(download)
return cp(copyFrom, copyTo)
})
.then(function () {
// detach the .dmg
self.trigger(CLEANING)
return exec('hdiutil detach /Volumes/' + download.mac.dmgName)
})
.then(function () {
// clean up
// return Promise.all([
return rm(getDownloadPath(download)).then(function () {
self.trigger(COMPLETE)
})
// ])
}).catch(function (e) {
console.error(e)
})
}

function extractFile(download) {
var unzip = new DecompressZip(getDownloadPath(download))
, extractTo = getSaveAsPath(download)

console.log(getDownloadPath(download))
console.log(extractTo)

unzip.on('error', function (err) {
console.error('unzip error:', err)
})
unzip.on('extract', function (log) {
// extracting directly to saveAsPath
self.trigger(CLEANING)
rm(getDownloadPath(download))
.then(function () {
self.trigger(COMPLETE)
alert('Your demo was installed at the following path: ' + extractTo + ' If you wish to uninstall, simply delete that folder.')
})
})

fs.remove(extractTo, function (err) {
if (err) return console.error(err)
unzip.extract({
path: extractTo
})
console.log("removed old version.")
})
}

function downloadFile(download, selfUpdate) {
console.log(getDownloadUrl(download))
progress(request(getDownloadUrl(download)), {
throttle: 100 // #ms between updates
})
.on('progress', function (state) {
console.log('received size in bytes', state.received)
console.log('total size in bytes', state.total)
console.log('percent', state.percent)
self.trigger(PROGRESS, state.percent, state.received, state.total)
})
.on('error', function (err) {
console.error('download failed ', err)
})
.pipe(fs.createWriteStream(getDownloadPath(downloa d, true)))
.on('error', function (err) {
console.error('saving to disk failed ', err)
})
.on('close', function (err) {
if (err) {
console.error(err)
} else if (mac()) {
copyFromDmg(download)
self.trigger(EXTRACTING)
} else {
// Windows will launch InnoSetup for extraction/installation path selection
// shell.openItem(getDownloadPath(download, false))
self.trigger(COMPLETE, getDownloadPath(download, false))
}
})
}

this.download = downloadFile
this.getSaveAsPath = getSaveAsPath
}

BackboneEvents.mixin(Downloader.prototype)
Downloader.COPYING = COPYING
Downloader.COMPLETE = COMPLETE
Downloader.EXTRACTING = EXTRACTING
Downloader.CLEANING = CLEANING
Downloader.PROGRESS = PROGRESS

module.exports = Downloade
Ответить с цитированием
  #6 (permalink)  
Старый 19.05.2015, 13:06
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Blackmilk,
давай по порядку.
1. На форуме принято оформлять код скриптов в специальные теги для подсветки синтаксиса. Иначе мало кто захочет читать эту однородную простыню кода.
2. В приведённом тобой коде нет использования свойства "senzaPeso", так что ты, видимо, ошибся и скопировал не то, что нужно.
Ответить с цитированием
  #7 (permalink)  
Старый 19.05.2015, 13:16
Новичок на форуме
Отправить личное сообщение для Blackmilk Посмотреть профиль Найти все сообщения от Blackmilk
 
Регистрация: 19.05.2015
Сообщений: 5

видишь ли , я сам то не особо в этом разбираюсь, но как я понял "senzaPeso" как название игры посылается в этот файл,при запуске же этого файла у меня вылазит ошибка с кодом 800А03F2 " предполагается наличие индентификатора в 87 строке
}).catch(function (e) {
Ответить с цитированием
  #8 (permalink)  
Старый 19.05.2015, 14:31
Новичок на форуме
Отправить личное сообщение для Blackmilk Посмотреть профиль Найти все сообщения от Blackmilk
 
Регистрация: 19.05.2015
Сообщений: 5

весь код
var Promise = require('bluebird')
, fs = require('fs-extra')
, os = require('os')
, path = require('path')
, request = require('request')
, progress = require('request-progress')
, DecompressZip = require('decompress-zip')
, exec = Promise.promisify(require('child_process').exec)
, BackboneEvents = require("backbone-events-standalone")
, injector = require('../injector').getInstance()

var rm = Promise.promisify(fs.remove)
, cp = Promise.promisify(fs.copy)

// events
var CLEANING = 'cleaning'
, EXTRACTING = 'extracting'
, PROGRESS = 'progress'
, COMPLETE = 'complete'
, COPYING = 'copying'

function Downloader(versions) {

var tmpDir = os.tmpDir()
, self = this

function mac() {
return process.platform === 'darwin'
}

function getDownloadUrl(download) {
var path = mac() ? versions[download.stringsKey]['mac']['path'] : versions[download.stringsKey]['win']['path']
return injector.inject('serverBaseUrl') + path
}

function getDownloadPath(download, pickNew) {
if (pickNew === true) {
tmpDir = os.tmpDir()
}
return path.join(tmpDir, path.basename(getDownloadUrl(download)))
}

function getApplicationsFolder(download) {
if (mac()) {
return path.join('/Applications', 'Kite & Lightning')
} else {
console.log('download.win64:', download.win.win64)
if (download.win.win64 === true) {
return path.join('C:/', 'Program Files', 'Kite & Lightning')
} else {
return path.join('C:/', 'Program Files (x86)', 'Kite & Lightning')
}
}
}

// this is where the unzipped file gets stored
function getSaveAsPath(download) {
if (mac()) {
return path.join(getApplicationsFolder(download), download.mac.saveAs)
} else {
return path.join(getApplicationsFolder(download), download.win.saveAs)
}
}

function copyFromDmg(download) {
console.log('opening dmg...')
// attach the .dmg, nobrowse prevents the dmg from popping up in the Finder
return exec('hdiutil attach ' + getDownloadPath(download) + ' -nobrowse')
.then(function () {
console.log(COPYING)
var copyFrom = path.join('/Volumes', download.mac.dmgName, download.mac.saveAs)
, copyTo = getSaveAsPath(download)
return cp(copyFrom, copyTo)
})
.then(function () {
// detach the .dmg
self.trigger(CLEANING)
return exec('hdiutil detach /Volumes/' + download.mac.dmgName)
})
.then(function () {
// clean up
// return Promise.all([
return rm(getDownloadPath(download)).then(function () {
self.trigger(COMPLETE)
})
// ])
}).catch(function (e) {
console.error(e)
})
}

function extractFile(download) {
var unzip = new DecompressZip(getDownloadPath(download))
, extractTo = getSaveAsPath(download)

console.log(getDownloadPath(download))
console.log(extractTo)

unzip.on('error', function (err) {
console.error('unzip error:', err)
})
unzip.on('extract', function (log) {
// extracting directly to saveAsPath
self.trigger(CLEANING)
rm(getDownloadPath(download))
.then(function () {
self.trigger(COMPLETE)
alert('Your demo was installed at the following path: ' + extractTo + ' If you wish to uninstall, simply delete that folder.')
})
})

fs.remove(extractTo, function (err) {
if (err) return console.error(err)
unzip.extract({
path: extractTo
})
console.log("removed old version.")
})
}

function downloadFile(download, selfUpdate) {
console.log(getDownloadUrl(download))
progress(request(getDownloadUrl(download)), {
throttle: 100 // #ms between updates
})
.on('progress', function (state) {
console.log('received size in bytes', state.received)
console.log('total size in bytes', state.total)
console.log('percent', state.percent)
self.trigger(PROGRESS, state.percent, state.received, state.total)
})
.on('error', function (err) {
console.error('download failed ', err)
})
.pipe(fs.createWriteStream(getDownloadPath(downloa d, true)))
.on('error', function (err) {
console.error('saving to disk failed ', err)
})
.on('close', function (err) {
if (err) {
console.error(err)
} else if (mac()) {
copyFromDmg(download)
self.trigger(EXTRACTING)
} else {
// Windows will launch InnoSetup for extraction/installation path selection
// shell.openItem(getDownloadPath(download, false))
self.trigger(COMPLETE, getDownloadPath(download, false))
}
})
}

this.download = downloadFile
this.getSaveAsPath = getSaveAsPath
}

BackboneEvents.mixin(Downloader.prototype)
Downloader.COPYING = COPYING
Downloader.COMPLETE = COMPLETE
Downloader.EXTRACTING = EXTRACTING
Downloader.CLEANING = CLEANING
Downloader.PROGRESS = PROGRESS

module.exports = Downloade
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переделать функцию adspro AJAX и COMET 5 09.03.2015 04:32
Не удается выполнить пример из учебника (Node.JS для решения задач) Drygba AJAX и COMET 9 13.04.2013 15:19
Востребованность разработчиков на Node.js danik.js AJAX и COMET 7 08.12.2012 22:49
Uncaught Error: NOT_FOUND_ERR: DOM Exception 8 grafdis4_01 Events/DOM/Window 1 08.11.2011 20:00
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34