我想纯粹在node.js中对canvas进行一些测试。
这是我的package.json
{
"name": "test",
"description": "Test",
"version": "0.1.0",
"author": "anthony@work",
"dependencies": {
"canvas": "^1.6.7",
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-preset-stage-0": "^6.24.1",
"jsdom": "^11.3.0"
}
}
这是我的.babelrc
{
"presets": ["env", "stage-0"]
}
这是我的测试javascript(a.js
)
const { jsdom } = require('jsdom');
// main
jsdom();
console.log('done')
但是,当我运行脚本时,
npx babel a.js | nodejs -- -
我收到此错误:
/work/node_modules/jsdom/lib/api.js:10
const { URL } = require("whatwg-url");
^
SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at [stdin]:3:16
at Object.exports.runInThisContext (vm.js:54:17)
at Object.<anonymous> ([stdin]-wrapper:6:22)
导致此错误的原因是什么?我该如何解决这个错误?
版本信息:
Node.js:v4.2.6 操作系统:Ubuntu 16.04
答案 0 :(得分:2)
您正在使用jsdom运行不兼容的节点版本。 jsdom @ 10需要nodejs v6。因此要么升级Node,要么降级jsdom。
在此处找到有关此内容的信息:https://github.com/tmpvar/jsdom#jsdom