很抱歉,如果这是超级基础和我的Middleman newb,但我试图将JSON文件放在我的数据文件夹中,将数据解析为Javascript文件(我使用的是jQuery),然后将它用于SoundManager2。
我已经在互联网上完成了我的研究,寻找答案,以及我在哪里:
我在Middleman的数据文件夹中的JSON文件
{
"sound": [
{
"name": "Holidead",
"url": "https://dl.dropboxusercontent.com/u/80054631/music/Holidead.mp3"
},
{
"name": "Where Did It All Go",
"url": "https://dl.dropboxusercontent.com/u/80054631/music/Where%20Did%20It%20All%20Go_1.mp3"
},
{
"name": "When We Ride",
"url": "https://dl.dropboxusercontent.com/u/80054631/music/When%20We%20Ride.mp3"
}
]
}
然后在config.rb中,我尝试在文件的底部执行此操作:
string = File.read('data/soundlist.json')
json = JSON.parse(string)
所以我的问题是如何将config.rb中的解析与Javascript文件连接以读取jquery Ajax中的JSON文件?我想将数据转换为数组并使用URL与SoundManager2播放声音。我相信我错过了Ruby文件和JS文件之间的一些步骤。
答案 0 :(得分:1)
我相信我在Ruby文件和JS文件之间缺少一些步骤。
完全!您可以拥有 .html.erb
文件,这些文件将在处理<%= %>
文件时由中间人处理。
config.rb
将被评估
将其放入string = File.read('data/soundlist.json')
config[:json] = JSON.parse(string)
.js.erb
让文件名具有扩展名json-data.js.erb
。说var json_data = <%= config[:json] %>;
console.log('json_data');
middleman build
现在使用
构建项目build/json-data.js
如果选中json_data
,则可以看到变量"resources": [
// WebApp
{
"apiVersion": "2015-08-01",
"name": "[parameters('siteName')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('siteLocation')]",
"dependsOn": [
],
"properties": {
"name": "[parameters('siteName')]",
"serverFarmId": "[parameters('hostingPlanName')]",
"siteConfig": {
"alwaysOn": true
}
},
"resources": [
{
"apiVersion": "2015-08-01",
"name": "Staging",
"type": "slots",
"location": "[parameters('siteLocation')]",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('siteName'))]"
],
"resources": [
{
"name": "DeployPackage",
"type": "extensions",
"location": "[parameters('siteLocation')]",
"apiVersion": "2015-08-01",
"dependsOn": [
"Staging"
],
"properties": {
"packageUri": "[parameters('packageURI')]"
}
}
]
}
]
}
]
具有json值。