我正在使用Azure Function应用程序来处理简单的API调用。我正在使用JavaScript作为语言。我在本地进行开发,并使用func host start
进行了测试,并确认一切都按需运行。代码的一部分是解析URL。我的功能代码中包含以下内容:
const url = require('url');
let myUrl = new URL(someInputParameter);
如前所述,在本地测试时此方法工作正常,但是在天蓝色部署时,我会收到此错误消息:
018-12-11T10:40:56.236 [Error] Executed 'Functions.myFunction' (Failed, Id=d7d51ed1-d37e-44ec-91d0-070de2005c1c)
Result: Failure
Exception: ReferenceError: URL is not defined
Stack: ReferenceError: URL is not defined
at module.exports (D:\home\site\wwwroot\myFunction\index.js:8:15)
at WorkerChannel.invocationRequest (D:\Program Files (x86)\SiteExtensions\Functions\2.0.12210\32bit\workers\node\worker-bundle.js:28862:26)
at ClientDuplexStream.WorkerChannel.eventStream.on (D:\Program Files (x86)\SiteExtensions\Functions\2.0.12210\32bit\workers\node\worker-bundle.js:28752:30)
at emitOne (events.js:116:13)
at ClientDuplexStream.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at ClientDuplexStream.Readable.push (_stream_readable.js:208:10)
at Object.onReceiveMessage (D:\Program Files (x86)\SiteExtensions\Functions\2.0.12210\32bit\workers\node\worker-bundle.js:42351:19)
at InterceptingListener.module.exports.InterceptingListener.recvMessageWithContext (D:\Program Files (x86)\SiteExtensions\Functions\2.0.12210\32bit\workers\node\worker-bundle.js:41678:19)
请注意,我做require('url')
。我该如何解决?
答案 0 :(得分:2)
我终于明白了。该代码在节点8上运行,因此require
行应如下所示:
const { URL } = require('url');
现在一切正常。