【发布时间】:2018-11-09 14:32:18
【问题描述】:
我正在使用 NodeJs 和 jsPDF 创建一个示例项目。当我运行时,它会回显ReferenceError: window is not defined。我也使用了来自here 的John Gordon 答案,但同样的问题。
我试过了
var express = require('express');
var jsPDF = require('jspdf');
var app = express();
app.get('/', function(req, res)
{
global.window = {document: {createElementNS: () => {return {}} }};
global.navigator = {};
global.btoa = () => {};
var fs = require('fs');
var jsPDF = require('jspdf');
var jsPDFTable = require('jspdf-autotable');
var doc = new jsPDF();
doc.text("Hello", 10, 10);
var data = doc.output();
fs.writeFileSync('./tmp/storage/pdf/document.pdf', data);
delete global.window;
delete global.navigator;
delete global.btoa;
});
var port = process.env.PORT || 8080;
app.listen(port);
console.log('Server started');
module.exports = app;
【问题讨论】:
-
jsPDF 看起来像是一个浏览器模块,而不是一个 Node 模块。
-
尝试使用脚本标签来包含在浏览器中:
<script src="https://unpkg.com/jspdf@latest/dist/jspdf.min.js"></script> -
@FaizuddinMohammed,我应该在哪里使用这个脚本?
-
当然是在您的浏览器中。
-
在浏览器中,我用
http://localhost:8080/观看。那怎么办?