Joh*_*hnC 5 azure node.js azure-webjobs
我正在尝试使用nodejs创建一个webjob,脚本使用各种节点模块,但是当作业运行时,它似乎不会预先安装包.
我上传的zip文件有一个包含所有依赖项的package.json和一个zip根目录下的server.js,脚本被执行但是根据下面的日志它找不到要运行的模块.
我在日志中获得以下输出.
[07/28/2015 07:36:14 > 5fabb6: SYS INFO] Status changed to Initializing
[07/28/2015 07:36:14 > 5fabb6: SYS INFO] Run script 'server.js' with script host - 'NodeScriptHost'
[07/28/2015 07:36:14 > 5fabb6: SYS INFO] Status changed to Running
[07/28/2015 07:36:15 > 5fabb6: ERR ]
[07/28/2015 07:36:15 > 5fabb6: ERR ] module.js:340
[07/28/2015 07:36:15 > 5fabb6: ERR ] throw err;
[07/28/2015 07:36:15 > 5fabb6: ERR ] ^
[07/28/2015 07:36:15 > 5fabb6: ERR ] Error: Cannot find module 'sendgrid'
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Function.Module._resolveFilename (module.js:338:15)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Function.Module._load (module.js:280:25)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Module.require (module.js:364:17)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at require (module.js:380:17)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Object.<anonymous> (D:\home\site\wwwroot\App_Data\jobs\triggered\TestWebJob\dist\services\email.service.js:4:16)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Module._compile (module.js:456:26)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Object.Module._extensions..js (module.js:474:10)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Module.load (module.js:356:32)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Function.Module._load (module.js:312:12)
[07/28/2015 07:36:15 > 5fabb6: ERR ] at Module.require (module.js:364:17)
[07/28/2015 07:36:15 > 5fabb6: SYS INFO] Status changed to Failed
[07/28/2015 07:36:15 > 5fabb6: SYS ERR ] Job failed due to exit code 8
Run Code Online (Sandbox Code Playgroud)
执行此操作的最佳方法似乎是将node_modules手动压缩到正确的文件夹中.根据https://github.com/projectkudu/kudu/wiki/Web-jobs#copying-files-directly-in-their-proper-location
我所做的是创建没有node_modules文件夹的webjob,然后单独ftp up文件.
通过ftp将节点模块上传到以下文件夹
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |