我可以使用一些yaml库加载一个无服务器文件吗



我正在尝试使用yaml库加载一个无服务器文件来进行一些预处理:

const yaml = require('js-yaml');
const file = await fs.readFile(path, { encoding: 'utf8' });
const doc = yaml.load(file);

我得到一个错误:

YAMLException: unknown tag !<!Ref> (26:42)

因为这条线:

S3_BUCKET: !Ref ComposerBucket

有可能以某种方式将无服务器文件加载到对象中吗?我想也许serverless使用了一些特定的模式,我需要在加载时定义,但我不知道。

const doc = yaml.load(file, { schema: 'serverless-framework' });

你知道我该怎么做吗?

我在浏览无服务器npm包时找到了解决方案源代码:

const cloudformationSchema = require('@serverless/utils/cloudformation-schema');
const doc = yaml.load(file, { schema: cloudformationSchema });

最新更新