Read the statement by Michael Teeuw here.
No JavaScript experience - Config.js not working
-
@sdetweil I have a new issue. Instead of seeing the original Magic Mirror^2 screen that says “add a config.js file or fix the syntax errors” now only shows a black screen. Both my mmstart.sh and magicmirror is active with my pm2. I also have downloaded chromium-browser. Do you know what might be the cause of this? I’ve downloaded all the module content inside of each module directory with npm.
-
@olesoncrypto this is typically caused by a missing library.
we removed some, and it turns out modules didn’t document using them
look at the pm2 log
command
pm2 logs --lines=100
looking for module not found.
for each of those, go to the module folder
if there is NOT a package.json file donpm init -y
then in either case do
npm install xxx -- save
where xx is the name of the not found thing
we know about
request
rrule-alt
and
valid-urlthen restart mm
-
0|mmstart | /home/pi/MagicMirror/js/app.js:20 0|mmstart | Log.log("Starting MagicMirror: v" + global.version); 0|mmstart | ^ 0|mmstart | TypeError: Log.log is not a function
I’m not sure how to fix this one. I nano’d into the file and they show a bunch of these log.log within the app.js file
-
@olesoncrypto yeh, its provided by the logger
so,
give me output of
node -v
and npm -vif u rename your config.js to save.config.js (mv is the rename command in lnux)
and copy the sample.config.js to config.js (in the config folder)does it work ?
-
@sdetweil I was able to finally make it work! I just completed deleted the MagicMirror with
sudo rm -r ~/MagicMirror
and then reinstalled it. I copied the config.js.sample to my real config.js file. I ran that and it finally worked! I was fixing it up and then it happened again as I was imputing parts of my old code. I realized that my issue was that I had theuseHTTPs: "false",
instead ofuseHTTPs: false,
which was the real reason there was just a blank screen. I appreciate your time and effort to help me out, especially with the fast responses. You’re a true life saver @sdetweil :) -
@olesoncrypto awesome, glad u got it working
-
@olesoncrypto yes, that will get you
general rules for config.js
the thing to the left of : does not need quotes for the thing to the right of : if it is a number (9, -1.234) or true/false , no quotes if it contains a letter 12ff234, bob, then needs quotes, single or double doesn't matter as long as they are the same start and end every { needs a matching } every [ needs a matching ] [] is a list [ 1,2,3,4] or [ first,second,third] {} is a structure/object with name/value pairs { x: value, y: othervalue } u can write lists and objects all on one line (what a pain) or across multiple lines... (much more readable) BUT, you STILL need the commas between items in either if u get an error, unexpected token, 99% of the time, u forgot a trailing comma on the line ABOVE the one reported (error on line 45, look at line 44) a good debug process is to join the list or object to a single line in your editor, and get the , between the items, then split it again after each comma... so u have a separate item on each line.