I git clone a spookyjs
from github to my shell, then npm install
and run node examples/hello.js
.
Everything goes well and hello.js
outputs:
Hello, from Spooky the Tuff Little Ghost - Wikipedia, the free encyclopedia
Then I add some dependencies to the package.json:
From
"dependencies": {
"underscore": "1.3.x",
"async": "0.1.x",
"tiny-jsonrpc": "0.2.x",
"carrier": "0.1.x",
"duplexer": "0.0.x",
"readable-stream": "~1.0.2"
}
To
"dependencies": {
"underscore": "1.3.x",
"async": "0.1.x",
"tiny-jsonrpc": "0.2.x",
"carrier": "0.1.x",
"duplexer": "0.0.x",
"readable-stream": "~1.0.2",
"express": "^4.13.4",
"bluebird": "^3.3.4",
"body-parser": "~1.13.2",
"consul": "^0.23.0",
"cookie-parser": "~1.3.5",
"debug": "~2.2.0",
"express": "~4.13.1",
"jade": "~1.11.0",
"morgan": "~1.6.1",
"native-dns": "^0.7.0",
"node-phantom": "^0.2.5",
"serve-favicon": "~2.3.0",
"util": "^0.10.3",
"webpage": "^0.3.0"
}
Then I npm install
, and run node examples/hello.js
again. But now it failed with weird logs:
{ id: 1,
code: -32603,
message: 'undefined is not a constructor (evaluating \'require(\'webpage\').create()\')' }
{ id: 2, code: -32603, message: 'Type error' }
{ id: 3, code: -32603, message: 'Type error' }
My question is, why does adding some dependencies to SpookyJS
lead to such an error and how can this error be avoided?
Posted that question to the github. The main developer of SpookyJS(lawnsea) answered me:
Sounds like that package (webpage) is conflicting with the native PhantomJS module webpage. You will not be able to use those together.
I don't think you'll be able to use a package named webpage. You could create another npm package that wraps it under a different name.