我正在尝试通过jsDom在服务器上渲染chartjs。 我有一个使用node.js&的工作版本。表达。 每当我添加以下代码时,目前在Meteor项目上
var jsdom = require('jsdom');
我收到以下错误:
W20170615-20:30:17.440(2)? (STDERR) packages\modules.js:397
W20170615-20:30:17.456(2)? (STDERR) const { URL } = require("whatwg-url");
W20170615-20:30:17.460(2)? (STDERR) ^
W20170615-20:30:17.461(2)? (STDERR)
W20170615-20:30:17.463(2)? (STDERR) SyntaxError: Unexpected token {
W20170615-20:30:17.465(2)? (STDERR) at Object.exports.runInThisContext (vm.j
s:53:16)
W20170615-20:30:17.470(2)? (STDERR) at C:\x\x\x\x\x
pp\.meteor\local\build\programs\server\boot.js:331:30
W20170615-20:30:17.472(2)? (STDERR) at Array.forEach (native)
W20170615-20:30:17.473(2)? (STDERR) at Function._.each._.forEach (C:\x\K
x\x\Local\.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev
_bundle\server-lib\node_modules\underscore\underscore.js:79:11)
W20170615-20:30:17.475(2)? (STDERR) at C:\x\x\x\x\x
pp\.meteor\local\build\programs\server\boot.js:158:5
W20170615-20:30:17.476(2)? (STDERR) at C:\x\x\x\x\x
pp\.meteor\local\build\programs\server\boot.js:387:5
W20170615-20:30:17.478(2)? (STDERR) at Function.run (C:\x\x\x
p\x\x\.meteor\local\build\programs\server\profile.js:510:12)
W20170615-20:30:17.479(2)? (STDERR) at C:\x\x\x\x\x
pp\.meteor\local\build\programs\server\boot.js:386:11
=> Exited with code: 1
版本 - nodejs:v7.8 - jsDom:11.0.0 - 流星:1.5
要复制此问题,请执行以下操作:
var jsdom = require('jsdom');
目前我不确定如何解决这个问题。 任何帮助将不胜感激。
答案 0 :(得分:3)
JSDOM的新版本是一个未解决的错误。在我写的Express.js应用程序中,我遇到了同样的问题。如果您更改为版本9.0.0(在package.json中)然后更新您的应用程序(npm update ...)或者如果您能够更新Node.js版本,那么问题就会消失,那么这也可以解决问题(我认为Meteor.js使用旧版本的Node.js)。
至少,这适用于Node.js.理论上它应该适用于基于Node.js的Meteor.js,尽管自从我使用Meteor.js以来已经很长时间了,所以事情可能会继续发展。