Мой вопрос касается узла js для мобильного от JaneaSystems . У меня есть веб-приложение, которое я конвертирую как приложение Cordova. Я выполнил все инструкции, приведенные в руководстве по началу работы
https://code.janeasystems.com/nodejs-mobile/getting-started-cordova
Однако при запуске nodejs из js / index.js в эмуляторе Android я получаю сообщение об ошибке: « Ошибка инициализации: java.io.FileNotFoundException: www \ nodejs-project / main.js"
Мой файл index.js выглядит следующим образом:
var app = {
// Application Constructor
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function() {
this.receivedEvent('deviceready');
startNodeProject();
},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
};
app.initialize();
function channelListener(msg) {
console.log('[cordova] received:' + msg);
}
function startupCallback(err) {
if (err) {
console.log(err);
} else {
console.log ('Node.js Mobile Engine Started');
nodejs.channel.send('Hello from Cordova!');
}
};
function startNodeProject() {
nodejs.channel.setListener(channelListener);
nodejs.start('main.js', startupCallback);
// To disable the stdout/stderr redirection to the Android logcat:
// nodejs.start('main.js', startupCallback, { redirectOutputToLogcat: false });
};
мой main.js выглядит следующим образом:
const cordova = require('cordova-bridge');
cordova.channel.on('message', function (msg) {
console.log('[node] received:', msg);
cordova.channel.send('Replying to this message: ' + msg);
});
Когда я выполняю команду cordova build android , создается файл с именем «file.list» в каталоге / platform / android / assets, содержимое которого
www\nodejs-project/main.js
Даже если я вручную изменил вышеприведенное значение на www\nodejs-project\main.js
, я все равно получаю исключение FileNotFound.
Может кто-нибудь сказать, что мне не хватает, поскольку файл main.js присутствует в nodejs-project?
Пожалуйста, дайте мне знать, если понадобятся какие-либо подробности, так как я старался быть максимально тщательным.