patw0929 / react-smartbanner

Rewrite Smart App Banner in React.js.
https://patw0929.github.io/react-smartbanner/
MIT License
74 stars 56 forks source link

ReferenceError: window is not defined at v5.1.2 #46

Closed msjh80311 closed 5 years ago

msjh80311 commented 5 years ago

I get this error just after updating the package to version 5.1.2!

(function (exports, require, module, __filename, __dirname) { !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["react","prop-types"],t):"object"==typeof exports?exports.SmartBanner=t(require("react"),require("prop-types")):e.SmartBanner=t(e.React,e.PropTypes)}(window,function(i,n){return function(i){var n={};function o(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return i[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=i,o.c=n,o.d=function(e,t,i){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);i

ReferenceError: window is not defined
    at Object.<anonymous> (/home/node/node_modules/react-smartbanner/dist/main.js:1:319)
    at Module._compile (module.js:652:30)
    at Module._extensions..js (module.js:663:10)
    at Object.require.extensions.(anonymous function) [as .js] (/home/node/node_modules/babel-register/lib/node.js:152:7)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/node/client/index.js:5:1)
    at Module._compile (module.js:652:30)
    at loader (/home/node/node_modules/babel-register/lib/node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (/home/node/node_modules/babel-register/lib/node.js:154:7)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)

More to mention, I'm running a server-side rendering project.

omeraplak commented 5 years ago

+1

patw0929 commented 5 years ago

Could you try dynamic import or something similar?

In Next.js, we can use:

import dynamic from 'next/dynamic';

const SmartBanner = dynamic(import('react-smartbanner'), {
  ssr: false
});

// ....
render() {
  return (
    <SmartBanner />
  );
}
patw0929 commented 5 years ago

Hey guys, I tried to fix it, and publish as react-smartbanner@5.1.3-alpha.0. Could you help to verify it? Thanks!

nebuloes commented 5 years ago

Worked for me, thanks for the fix!

msjh80311 commented 5 years ago

It solves mine too! Thanks for your help!

patw0929 commented 5 years ago

Thanks! Release as v5.1.3.