我正在尝试使用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 });