I’ll preface this by saying I’m fairly new at nodejs, so maybe I’m doing something totally stupid. I’ve been beating my head on this for a while now… Not making any sense to me whatsoever, googling like crazy and still totally stuck.
I have bigger plans (reading a locally updated JSON file and displaying frequently updated data to the screen), but as nothing seemed to work I kept paring and paring the project back to where I’m now simply trying to display static contents of a local file to the screen. I altered helloworld to try to do this simple task. Note that the file ‘/home/pi/test.txt’ is simply the word “test”, and has permissions set to where anyone can read it. I’m also loading other modules just so I know something’s working.
The following code locks up the mirror, displaying simply a black screen. Note that I am not even attempting to display the file at this point, I’m simply trying to load it into the variable ‘file’.
Module.register("helloworld",{
getDom: function() {
var wrapper = document.createElement("div");
var file = require('fs').readFileSync('/home/pi/test.txt', 'utf8');
wrapper.innerHTML = "Hello";
return wrapper;
}
});
I can tell that the issue is my loading line because I can comment it out thusly and all the modules display, including the “Hello” text:
Module.register("helloworld",{
getDom: function() {
var wrapper = document.createElement("div");
// var file = require('fs').readFileSync('/home/pi/test.txt', 'utf8');
wrapper.innerHTML = "Hello";
return wrapper;
}
});
OK, so maybe there’s a problem with my loading statement. Easy to check, copy/past the line into a js file and run it:
test.js:
var file = require('fs').readFileSync('/home/pi/test.txt', 'utf8');
console.log(file);
And here’s what happens:
pi@lugarpi:~ $ nodejs test.js
test
Works perfectly fine in nodejs but if I put that line of code into the module it locks up the mirror. Am I missing something here? Also, I’m launching mirror through pm2. I understood any errors should show up in ~/.pm2/logs but the error log doesn’t show anything.