2017-02-03 8 views
1

Вот мой фрагмент кода выглядит что-то вроде этого, у меня есть sweetalert в package.json.окно не определено ошибка при использовании responseJs, Redux и import sweetalert

import swal from 'sweetalert'; export function delete() { 
return (dispatch, getState) => { 
    swal({ 
      title: "Delete API?", 
      text: "You will not be able to recover this API!", 
      type: "warning", 
      showCancelButton: true, 
      confirmButtonColor: "#DD6B55", 
      confirmButtonText: "Yes, delete it!", 
      closeOnConfirm: false 
     });} 

Ошибка в публичной/server.js

if(window.console){ 

окно не определен, это realted к sweetalert.

Я это работает на некоторое время, но когда я сделал чистый пробег НПМ построить его заменяет server.js и эта новая строка кода добавляется server.js

Я видел несколько предложений, чтобы не сделать его на стороне сервера когда это используя реакцию/сокращение, но ищет способ не загружать пакет sweetalert во время рендеринга.

Любая помощь очень ценится. Спасибо

+0

Оригинальный плагин Sweetalert не поддерживается, посмотрите на [Sweetalert2] (https://github.com/limonte/sweetalert2) –

+0

@limonte я попробовал sweetalert2, а затем получил ошибку, не определенную документом, которая похожа на выше. Я видел, что вы много работали на sweetalert2, я думаю, вы владеете этим пакетом, можете ли вы помочь мне с ним, когда я использую sweetalert2 таким же образом, что он выкинул ошибку, говоря, что документ не найден в public/server.js – NagaRajendra

ответ

0

Проблема является реакцией/redux пытается отобразить «sweetalert» при создании webpackbuild и перейдет к сгенерированному public/server.js, он не смог найти ошибку окна и метаданных как неопределенную, поэтому просто прекратить визуализацию на стороне сервера из sweetalert, я заменил

import swal from "sweetalert"; 

С

const isBrowser = typeof window !== 'undefined'; 
const swal = isBrowser ? require('sweetalert') : undefined; 

Это работает для меня, я нашел его на какой-нить на GitHub, что она делает это прекратить оказание sweetalert на ServerSide. Надеюсь это поможет!!

 Смежные вопросы

  • Нет связанных вопросов^_^