npm我在尝试使用 向脚本传递参数时遇到问题lerna。
我有一个节点脚本,我想在工作区的每个包中运行它。lerna文档建议如下:
{
"scripts": {
"my-script": "lerna exec -- node \\$LERNA_ROOT_PATH/scripts/my-script.js"
}
}
Run Code Online (Sandbox Code Playgroud)
所以现在,如果我在根目录中运行,yarn run my-script它将在工作区中的每个包中运行脚本。
有时,我需要将执行范围限制到特定的包。因此,从命令行运行它显然是有效的:lerna exec --scope somepackage -- node \$LERNA_ROOT_PATH/scripts/create-common-scripts.js。
我的问题:如何将 npm 脚本与lerna范围参数连接起来。这不起作用:yarn run my-script --scope somepackage,因为它将参数设置为命令的末尾:lerna exec -- node \\$LERNA_ROOT_PATH/scripts/my-script.js --scope somepackage。
谢谢!
我正在尝试使用AWS Cloudfront上的lambda @ edge对多个网站实施“代理”。
我的设置大致是:
DNS:*。domain.com-> some_uuid.cloudfront.net(Cloudfront发行版)
Cloudfront:some_uuid.cloudfront.net-> S3存储桶来源
s3存储桶:网站/(包含多个网站的文件夹)
lambda @ edge函数:定义为起点请求
我的lambda @ edge函数非常简单:
检查网站资源是否在s3存储桶中。
如果是,请将请求uri更改为资源s3 url。
如果不是,则向后端服务器发送请求以渲染资源,将其存储在s3上并返回。
我在获取网站的原始域时遇到问题。例如,如果我尝试访问“ my_website.domain.com”,则在我的lambda函数中,我没有请求中的该域信息。
我认为我可以实现另一个lambda @ edge函数作为查看器请求,以将域作为标头传递,但是如果可以的话,我宁愿避免这种情况。
还有其他解决方案吗?
谢谢
javascript node.js amazon-cloudfront aws-lambda aws-lambda-edge