繁体   English   中英

具有 Azure 功能的无服务器框架

[英]Serverless Framework with Azure functions

我正在使用Serverless Framework & Azure Functions编写服务。 那里的例子非常简单。 但是当我尝试更进一步时,我遇到了问题。 目前正在学习AWS Lambda ,然后尝试在Azure Functions上实现它。

这样做的目的是:

1)将函数实现为es6类,然后用webpack构建项目。

2)找到一个合适的项目结构,这更有意义。

3) 遵循 SoC 模式。

我创建了一个github项目https://github.com/GeekOnGadgets/serverless-azure-settings ,当我尝试构建这个项目serverless package它会创建.serverless文件夹,其中有.zip文件(编译版本)。 据我了解,当您运行serverless deploy时,它会被部署到 azure。 但是当我检查 Azure 时,该功能只是开发代码而不是编译代码(请参阅下面的代码)。

有人可以帮忙解决这个问题。 任何建议表示赞赏。

import Settings from './src/Settings/Settings'

module.exports.settings = (event, context, callback) => {
    let settings = new Settings();

    const response = {
        statusCode: 200,
        headers: {
            "Content-Type": "application/json"
        },
        body: JSON.stringify(settings.dev()),
    };
    callback(null, response);
}

实际上,javascript azure 函数在 nodejs 上运行,因此 commonjs 模块是自然格式。 Node 本身也支持 ES6 的大部分内容,尽管 node 的 Functions 版本可能不是最新的。

但是,当前在 node_modules 中加载所有依赖项存在速度问题。 这是由于文件访问,因此存在一种变通方法,将所有内容捆绑到 package.json -> main 指向的单个脚本中。

我无法评论它如何适应无服务器,但也许这将有助于澄清。

据我所知,Node.js 仍然不支持模块的导入/导出 ES6 语法。 另请参见此处

尝试一个新的部署从

import Settings from './src/Settings/Settings'

const Settings = require('./src/Settings/Settings')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM