首页 > 解决方案 > Nodejs窗口取消定义

问题描述

如何解决ReferenceError: window is not defined?这是我的代码

  let timestamp = new Date();
  var str = params.email;
  var enc = window.btoa(str);
  var dec = window.atob(timestamp);
  console.log(window)
  if (window == "undefine"){
    var template = handlebars.compile(html);
    var htmlToSend = template({email:enc + "|" + dec});
    var mailOptions = {
      from: 'support@google.com',
      to: params.email,
      subject: 'Sending Email using Node.js',
      html: htmlToSend
    };

在此处输入图像描述

标签: node.js

解决方案


您的 NodeJS 代码是服务器端的。您不能让服务器代码直接调用客户端代码、访问其变量等;你也不能反过来做。

nodejs中btoa的替代品

  let timestamp = new Date();
  var str = params.email;
  // create a buffer
  const buff = Buffer.from(str, 'utf-8');
  // decode buffer as Base64
  const base64 = buff.toString('base64');

  //var enc = window.btoa(str);
  //var dec = window.atob(timestamp);

参考


推荐阅读