ReferenceError: window is not defined in v2.3.1
pdcastro opened this issue · 5 comments
pdcastro commented
I didn't seem to have permission to reopen issue #131, hence creating this new one.
The fix of PR #132 didn't seem to be sufficient:
$ node
> if (window) console.log('exists');
ReferenceError: window is not defined
> if (typeof window !== 'undefined') console.log('exists');
undefined
Known workaround: pin to version ~2.2.2.
SebastianLibreros commented
I have the same problem here:
"moment-duration-format": "^2.2.2"
node --version v8.14.0
nvm version 1.1.7
ReferenceError: window is not defined
node_modules\moment-duration-format\lib\moment-duration-format.js:1723
if (window && window.Intl && window.Intl.NumberFormat) {
jsmreese commented
OK OK. Sigh.
SebastianLibreros commented
Hello,
I found two temp solutions:
- Force package.json to use version 2.2.2
"moment-duration-format": "2.2.2"
or - Append
typeof window !== 'undefined'
to conditionif (window && window.Intl && window.Intl.NumberFormat) {
=>if (typeof window !== 'undefined' && window && window.Intl && window.Intl.NumberFormat) {
Ref: webpack/webpack#7112 (comment)
Thanks in advance.
favna commented
Got the window error on runkit but locally I get this with v2.3.1 and v2.3.0:
~/Downloads/index.js:4
const dt = moment.duration(process.uptime()).format('DD MM');
^
TypeError: moment.duration(...).format is not a function
at Object.<anonymous> (~/Downloads/index.js:4:46)
at Module._compile (internal/modules/cjs/loader.js:816:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10)
at Module.load (internal/modules/cjs/loader.js:685:32)
at Function.Module._load (internal/modules/cjs/loader.js:620:12)
at Function.Module.runMain (internal/modules/cjs/loader.js:877:12)
at internal/main/run_main_module.js:21:11
File content:
const moment = require('moment'); // version 2.24.0
require('moment-duration-format'); // version 2.3.1
const dt = moment.duration(process.uptime()).format('DD MM');
console.log(dt);
Downgrading to 2.2.2 has it work just fine.