【问题标题】:Have Serverless always run `npm i` at deploy?Serverless 是否总是在部署时运行“npm i”?
【发布时间】:2021-05-25 01:04:53
【问题描述】:

使用无服务器和 AWS 节点 Lambda 我注意到在运行本地部署时,例如sls deploy --stage test 它正在使用本地 node_modules 目录,而不是在部署之前运行“新”npm i

是否有任何“无服务器方式”可以做到这一点,或者rm -r node_modules && npm i && sls deploy -s test 是要走的路?

【问题讨论】:

    标签: node.js serverless-framework


    【解决方案1】:

    “是否有任何“无服务器方式”可以做到这一点?”不,我想是的!

    您可以创建一个 npm 脚本来执行此操作:

    package.json

    ...
    "scripts": {
      "deploy:test": "rm -r node_modules && npm i && sls deploy -s test"
    }
    ...
    

    现在,您可以运行npm run deploy:test

    【讨论】:

    • 谢谢,这就是我已经拥有的...... :) 只是认为有一些解决方法是一个相当普遍的要求......
    【解决方案2】:

    您可以探索的一个选项是构建自己的插件,该插件挂钩 deploy:initialize 生命周期挂钩并运行 npm i

    您可以在documentation阅读更多内容

    【讨论】:

    • 谢谢,但有点麻烦,因为它可以用几个命令来完成......
    猜你喜欢
    • 2019-06-11
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    相关资源
    最近更新 更多