npm从不同目录运行多种服务,包括无服务器脱机

当前

  1. 我有一个本地测试环境设置。
  2. 我正尝试迁移到 serverless 并设置 serverless-offline 进行本地测试。

除了 serverless-offline ,我无法运行现有的客户端+服务器。

目录:

root:
- package.json
- /my-project
-- /serverless
--- ...
-- handler.js
-- serverless.yml

PACKAGE.JSON

"scripts": {
    "start": "concurrently \"npm start --prefix client\" \"node index.js\" \"serverless offline start\""
  }

问题

从根目录开始运行npm时,返回以下错误:

Serverless command "offline" not found. Did you mean "config"? Run "serverless help" for a list of all available commands.

注意:当我在serverless offline start中运行\my-project时,命令成功执行,并且 serverless-offline 运行。

问题

  1. 是否可以在serverless offline start
  2. 的上下文中运行/my-project命令
  3. 我需要重新组织目录结构吗?

注释

我尝试回答run npm script from different repository,但未能使其正常工作。也许是因为我试图从不同的目录上下文中运行命令(即无服务器)而不是脚本文件。

wutian000523 回答:npm从不同目录运行多种服务,包括无服务器脱机

在无服务器中添加无用的“子”项目时,必须在无服务器主文件中指示属于其他软件包的功能。

例如,您具有结构。

root:
----serverless.yml
----handler.js
----package.json
----index.functions.yml
----src/
-------/serveless.yml
-------/package.json
-------/handler.js
-------/index.functions.yml
-------/handler.js

您必须在主serverless.yml文件中包含以下内容:

service: main-serverless
pluggins:
  - serverless-offline
  .
  .
functions:
  - ${file(./index.functions.yml)}
  - ${file(./src/index.functions.yml)}

如果要在软件包内部进行操作,则必须尝试使用​​lerna,它可以从根目录处理嵌套的软件包。

希望有帮助。

,

这个问题与无服务器无关,而是我的新手经验,即在package.json中设置脚本。有两个选项可从父项目文件夹运行serverless offline start

选项1

在调用cd my-project &&之前插入serverless offline start

"scripts": {
    "start": "concurrently \"npm start --prefix client\" \"node index.js\" \"cd my-project && serverless offline start\""
  }

选项2

--prefix my-project命令中添加serverless offline start注意:我尚未测试选项2

"scripts": {
    "start": "concurrently \"npm start --prefix client\" \"node index.js\" \"serverless offline start --prefix my-project\""
  }
本文链接:https://www.f2er.com/3087593.html

大家都在问