为什么我在javascript中读取YAML值时没有定义它,但它在其他任何地方都有?
我正在尝试从本地目录读取YAML文件。我可以读取它,但文件中的数据没有定义 错误如下所示:为什么我在javascript中读取YAML值时没有定义它,但它在其他任何地方都有?,javascript,vue.js,yaml,Javascript,Vue.js,Yaml,我正在尝试从本地目录读取YAML文件。我可以读取它,但文件中的数据没有定义 错误如下所示: <template> <div> {{this.dataNotWorkingNow}} </div> </template> <script> import yaml from "js-yaml"; import fs from "fs"; import config from "./config.yml"; export de
<template>
<div>
{{this.dataNotWorkingNow}}
</div>
</template>
<script>
import yaml from "js-yaml";
import fs from "fs";
import config from "./config.yml";
export default {
data() {
return {
dataNotWorkingNow: []
};
},
created() {
fs.readFile(config, "utf8", function(e, data) {
var file;
if (e) {
console.log("config.yml not found.");
} else {
file = yaml.safeLoad(data, "utf8");
if (file.options["displayGreating"]) {
console.log("hello " + file.userName);
}
if (file.options["displayTime"]) {
console.log("the time is: " + new Date());
}
}
});
}
};
</script>
文件中的数据结构如下:
userName: myusername
options :
displayTime : true
displayGreating : true
fruit:
-apple
-orange
我的代码说没有定义“myusername”。这是什么意思
我正在加载YAML,如下所示:
<template>
<div>
{{this.dataNotWorkingNow}}
</div>
</template>
<script>
import yaml from "js-yaml";
import fs from "fs";
import config from "./config.yml";
export default {
data() {
return {
dataNotWorkingNow: []
};
},
created() {
fs.readFile(config, "utf8", function(e, data) {
var file;
if (e) {
console.log("config.yml not found.");
} else {
file = yaml.safeLoad(data, "utf8");
if (file.options["displayGreating"]) {
console.log("hello " + file.userName);
}
if (file.options["displayTime"]) {
console.log("the time is: " + new Date());
}
}
});
}
};
</script>
{{this.dataNotWorkingNow}
从“js yaml”导入yaml;
从“fs”导入fs;
从“/config.yml”导入配置;
导出默认值{
数据(){
返回{
dataNotWorkingNow:[]
};
},
创建(){
读取文件(配置,“utf8”,函数(e,数据){
var文件;
如果(e){
log(“未找到config.yml”);
}否则{
文件=yaml.safeLoad(数据,“utf8”);
if(file.options[“displayGreating”]){
log(“hello”+file.userName);
}
if(file.options[“displayTime”]){
log(“时间为:+new Date());
}
}
});
}
};
如何从本地文件加载数据?发生这种情况是因为
import config from "./config.yml";
该语句试图将YAML文件解析为JavaScript源代码。删除该行并改为执行
fs.readFile(“./config.yml””,…
。如果将myusername
放在双引号中会怎么样?@Honza然后我得到另一个错误,上面写着“创建的钩子中的错误:”TypeError:fs\uu WEBPACK\u IMPORTED\u MODULE\u 2\uuu default.a.readFile不是函数“然后,如果您发布如何在webpack配置中解析*.yml文件并在那里搜索,这将非常有用。您导入的yml看起来像是解析为js文件。可能需要使用一些yml加载程序与webpack一起使用,以便能够使用import…from
语句直接导入yml文件