Javascript 如何在Vue中加载YAML文件?
我对Vue和整个网络生态系统还比较陌生 我一直在开发一个小应用程序,并决定使用YAML来存储数据,而不是JSON,主要是为了使用注释 我尝试了这两种YAML解析器:Javascript 如何在Vue中加载YAML文件?,javascript,vue.js,webpack,yaml,Javascript,Vue.js,Webpack,Yaml,我对Vue和整个网络生态系统还比较陌生 我一直在开发一个小应用程序,并决定使用YAML来存储数据,而不是JSON,主要是为了使用注释 我尝试了这两种YAML解析器: (试图通过NPM安装) (试图通过使用Vue ui访问的Vue GUI进行安装) 但是,当我运行vue serve时,两者都有相同的问题: error in ./assets/data.yaml Module parse failed: Unexpected character '#' (1:0) You may need
- (试图通过NPM安装)
- (试图通过使用
访问的Vue GUI进行安装)Vue ui
error in ./assets/data.yaml
Module parse failed: Unexpected character '#' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> #im a comment
| foo: "hello"
| bar: "world"
我相当确定这是有效的YAML…以下是我的YAML文件的外观:
#im a comment
foo: "hello"
bar: "world"
以下是我尝试导入它的方式:
import data from "./assets/data.yaml"
我尝试按照错误指向的URL()的说明进行操作,但立即丢失,因为:
constpath=require('path')代码>在Vue项目中似乎不起作用
module.exports = {
chainWebpack: config => {
config.module
.rule('yaml')
.test(/\.ya?ml?$/)
.use('json-loader')
.loader('json-loader')
.end()
.use('yaml-loader')
.loader('yaml-loader')
}
}
正如vue.config.js文件所示,我最终安装并安装了
但是,这仍然不起作用。我使用不同的vue.config.js配置尝试了很久,最终发现该文件需要保存在我的src文件夹中,而不是项目的根目录中,例如project\u文件夹/src/vue.config.js
而不是project\u文件夹/vue.config.js
然而,这似乎与以下内容背道而驰:
vue.config.js是一个可选配置文件,如果它存在于项目根目录中(package.json旁边),则@vue/cli服务将自动加载该文件
它还会导致vue-inspect--rule yaml
返回undefined
,因此我认为这不是一个真正的解决方案,而是一个解决办法,所以我不会接受这个答案。我不确定文档是否有错,或者我的环境是否有什么奇怪的地方。当然,这不仅仅是一个新项目有同样的问题。
关于
vue inspect
向您的项目中添加vue.config.js
文件并阅读相关内容。我刚刚向我的vue项目中添加了vue cli插件yaml
,所有内容都是开箱即用的-除了我使用了从“@/assets/data.yaml”导入数据
但这只是路径差异,因此与您可能遇到的任何错误无关getting@JaromandaX嗯,我刚刚创建了一个vue新项目,方法是执行vue创建测试
,遵循默认步骤,然后通过npm安装添加vue cli插件yaml
——保存dev vue cli插件yaml
,但我仍然看到相同的错误:(@digitaldriver我关注了你的链接,但似乎认为我对加载程序API有一些了解?我甚至不知道这里使用的方法是什么(例如use()函数做什么?)。我试图替换示例中的相关位,但结果是相同的错误。@shilly您是否可以共享vue config inspect
的输出。您当前的项目配置包含一些样板文件,这些样板文件可能存在于vue.config.js
文件中,也可能不存在于vue.config.js
文件中,vue在您的项目运行时添加了这些样板文件圣克雷特德酒店