前几天云日志报错jade找不到,然后我就在package.json里面吧jade改成pug。在本地运行是好的,但是部署到云端之后,还是提示找不到jade,请问是什么原因?
appId:egDFgpKJaazFLvnpspcyqR3I-gzGzoHsz

{
"name": "cityguide",
"version": "0.0.1",
"description": "City guide's internal system for editors",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"keywords": [
"node",
"LeanCloud",
"LeanEngine",
"express"
],
"license": "MIT",
"dependencies": {
"body-parser": "1.12.3",
"connect-multiparty": "2.0.0",
"connect-timeout": "^1.7.0",
"cookie-parser": "^1.3.5",
"express": "4.12.3",
"pug": "latest",
"leancloud-realtime": "^3.3.3",
"leancloud-storage": "^1.5.3",
"leanengine": "1.2.3",
"method-override": "^2.3.2",
"moment": "^2.13.0",
"request": "^2.72.0",
"scrape-it": "^3.3.0",
"themeparks": "^4.0.7",
"underscore": "1.8.3"
},
"devDependencies": {
"grunt": "^0.4.5",
"grunt-contrib-cssmin": "~1.0.1",
"grunt-contrib-jshint": "~0.10.0",
"grunt-contrib-uglify": "~0.5.0"
},
"engines": {
"node": "4.x"
}
}

请发一下完整的异常调用栈,应该是你的代码中还在尝试使用 jade

Error: Cannot find module 'jade'
STDERR 11:48:18 at Function.Module._resolveFilename (module.js:325:15)
STDERR 11:48:18 at Function.Module._load (module.js:276:25)
STDERR 11:48:18 at Module.require (module.js:353:17)
STDERR 11:48:18 at require (internal/module.js:12:17)
STDERR 11:48:18 at new View (/home/leanengine/app/node_modules/express/lib/view.js:50:49)
STDERR 11:48:18 at EventEmitter.app.render (/home/leanengine/app/node_modules/express/lib/application.js:545:12)
STDERR 11:48:18 at ServerResponse.res.render (/home/leanengine/app/node_modules/express/lib/response.js:938:7)
STDERR 11:48:18 at /home/leanengine/app/app.js:201:7
STDERR 11:48:18 at Layer.handle_error (/home/leanengine/app/node_modules/express/lib/router/layer.js:58:5)
STDERR 11:48:18 at trim_prefix (/home/leanengine/app/node_modules/express/lib/router/index.js:300:13)
STDERR 11:48:18 at /home/leanengine/app/node_modules/express/lib/router/index.js:270:7
STDERR 11:48:18 at Function.proto.process_params (/home/leanengine/app/node_modules/express/lib/router/index.js:321:12)
STDERR 11:48:18 at next (/home/leanengine/app/node_modules/express/lib/router/index.js:261:10)
STDERR 11:48:18 at Layer.handle_error (/home/leanengine/app/node_modules/express/lib/router/layer.js:54:12)
STDERR 11:48:18 at trim_prefix (/home/leanengine/app/node_modules/express/lib/router/index.js:300:13)
STDERR 11:48:18 at /home/leanengine/app/node_modules/express/lib/router/index.js:270:7

看下 app.js:201 吧,如果你的模板文件后缀名是 jade,那么 express 会自动使用 jade 这个包(而不是 pug),你可以在本地把 node_modules 删掉重装来重现这个问题。