【发布时间】:2014-08-10 15:57:44
【问题描述】:
我得到了一些使用“requirejs”的建议,但无法让它发挥作用。我是 CoffeeScript 的新手,也是 JavaScript 的新手。
我的 JSON 文件(或者更准确地说是一个包含 JSON 字符串的 js 文件)如下所示:
define(function(require)
{
return
{
"name": "Joe",
"age": 30
}
});
我的 app.coffee 有:
requirejs.config
paths:
text: "<path to requirejs-text>"
json_path: "<path to json file>"
我的 main.coffee 有:
define(require) ->
ko = require 'knockout'
$ = require 'jquery'
jsonObj = require 'json_path'
class Main_App
constructor ->
@age = ko.observable jsonObj.age
我在生成的 JavaScript 中收到以下错误:
Uncaught SyntaxError: Unexpected token :
它在抱怨该行中的冒号:
“姓名”:“乔”,
很明显,我的 JSON 字符串周围的 javascript 包装器结构不正确。我想直接读取“data.json”文件,但它正在寻找“.js”文件。有人告诉我,我需要将 JSON 字符串包装在 javascript“define(function(require)”中,但我似乎无法找到有关如何格式化它的帮助。任何人都可以让我摆脱困境吗? 谢谢!
【问题讨论】:
-
根据 JSON Lint,嵌入的 JSON 字符串是有效的。问题似乎是需要与requirejs一起使用的“javascript函数包装器”。我被指示让它看起来像这样,以便它“返回”一个 JSON 字符串。
-
有没有更好的方法让 CoffeeScript 读取未包含在 javascript 代码中的“原始 JSON”文件?
标签: javascript json coffeescript