我已经得到了一些使用" 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:意外的令牌:
这是在抱怨行中的冒号:
&#34; name&#34;:&#34; Joe&#34;,
很明显,我的JSON字符串周围的javascript包装器结构不正确。我想读一个&#34; data.json&#34;直接提交文件,但它正在寻找一个&#34; .js&#34;文件。我被告知我需要将JSON字符串包装在javascript&#34; define(function(require)&#34;中,但我似乎无法找到如何格式化它的帮助。任何人都能得到我脱胶? 谢谢!
答案 0 :(得分:1)
JavaScript的自动分号插入在这里似乎很有罪。
写作时
define(function(require)
{
return // a ; is added here.
{
"name": "Joe",
"age": 30
}
});
在return语句后面添加了一个分号,所以函数返回undefined而不是你的对象。
请尝试这样:
define(function(require)
{
return {
"name": "Joe",
"age": 30
};
});