2017-06-15 32 views
0

我想通過jsDom在服務器上呈現chartsjs。 我有一個使用node.js & Express的工作版本。 目前關於每當我添加以下代碼與jsDOM和流星意外的令牌錯誤

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

複製的問題做到以下幾點:

  1. 運行流星創建--full jsDomTest
  2. CD jsDomTest
  3. 流星NPM安裝
  4. NPM安裝jsdom --save
  5. 根服務器文件夾中添加以下行var jsdom = require('jsdom');
  6. 來看流星

我不確定目前如何解決這個問題。 任何幫助,將不勝感激謝謝。

+0

您可以嘗試併發布演示問題的簡單控制檯應用程序嗎?我無法複製。 – akaphenom

+0

@akaphenom感謝您的回覆。我添加到我的原始後步驟複製。我只是自己跑了那些步驟和同樣的問題。 – eGlu

+0

您是否執行過'meteor npm install'安裝所有必需的模塊? – Khang

回答

3

這是一個尚未解決的JSDOM新版本的bug。我在寫一個Express.js應用程序時遇到了同樣的問題。如果您更改爲9.0.0版本(在package.json中),然後更新您的應用程序(npm update ...),或者如果您能夠更新Node.js版本,那麼問題就會消失,那麼這也可以解決問題(我認爲Meteor.js使用舊版本的Node.js)。

至少,這適用於Node.js.它應該在理論上爲基於Node.js的Meteor.js工作,儘管它已經使用了Meteor.js很長一段時間,所以事情可能會繼續。

+0

我忘了記住:)流星自己的節點版本是坐在v4.8,jsdom在它的文檔上說它需要v6> for jsdom v11.0。所以設置jsdom到v9是修復。非常感激。 – eGlu