Backbone应用程序的webserver?

时间:2012-09-26 19:48:13

标签: javascript backbone.js webkit makefile

对不起,这可能是一个总的noob问题

我从github https://github.com/elfsternberg/The-Backbone-Store下载了一个骨干示例应用程序,根据其README,“必须安装在网络服务器下才能正常运行”。实际上,当我在Chrome中打开索引文件时,它只显示一个没有javascript功能的html / css,出现此错误

XMLHttpRequest cannot load file:///Users/me/Sites/backbonestore/data/items.json. Origin null is not allowed by Access-Control-Allow-Origin.

我认为这可能是因为json数据文件中的这些链接

"url": "http://www.amazon.com/Door-Religious-Knives/dp/B001FGW0UQ/?tag=quirkey-20"

教程说我需要一个网络服务器,即使它不使用数据库。

当我不使用Rails时,有没有办法使用webkit(我通常在Rails环境中工作)?如果那不是问题,那么你能解释一下我是如何让它起作用的吗?

这个骨干项目和我看过的其他项目之间的一个区别是它有一个make文件。我必须做任何事情吗?

制作文件

.SUFFIXES: .nw .js .pdf .html .tex 

NOTANGLE=       notangle
NOWEAVE=        noweave
ECHO=           /bin/echo

all: index.html store.js 

.nw.html:
    $(NOWEAVE) -filter l2h -delay -x -index -autodefs c -html $*.nw > $*.html

.nw.tex:
    $(NOWEAVE) -x -delay $*.nw > $*.tex             #$

.tex.pdf:
    xelatex $*.tex; \
    while grep -s 'Rerun to get cross-references right' $*.log; \
        do \
        xelatex *$.tex; \
    done

.nw.js:
    @ $(ECHO) $(NOTANGLE) -c -R$@ $<
    @ - $(NOTANGLE) -c -R$@ $< > $*.nw-js-tmp
    @ if [ -s "$*.nw-js-tmp" ]; then \
        mv $*.nw-js-tmp $@; \
    else \
        echo "$@ not found in $<"; \
    rm $*.nw-js-tmp; \
    fi  

store.js: backbonestore.nw
    @ $(ECHO) $(NOTANGLE) -c -R$@ $<
    @ - $(NOTANGLE) -c -R$@ $< > $*.nw-html-tmp
    @ if [ -s "$*.nw-html-tmp" ]; then \
        mv $*.nw-html-tmp $@; \
    else \
        echo "$@ not found in $<"; \
    rm $*.nw-tmp; \
    fi  

index.html: backbonestore.nw
    @ $(ECHO) $(NOTANGLE) -c -R$@ $<
    @ - $(NOTANGLE) -c -R$@ $< > $*.nw-html-tmp
    @ if [ -s "$*.nw-html-tmp" ]; then \
        mv $*.nw-html-tmp $@; \
    else \
        echo "$@ not found in $<"; \
    rm $*.nw-tmp; \
    fi  


clean:
    - rm -f *.tex *.dvi *.aux *.toc *.log *.out *.html *.js

realclean: clean
    - rm -f *.pdf

2 个答案:

答案 0 :(得分:1)

此处的问题可能是您尝试访问chrome中的应用程序,并且如果您看到文件路径以file:///而不是file://开头,则chrome中存在无法打开文件路径的已知问题您可以使用任何Web服务器,只需您可以通过localhost URL访问这些路径。尝试在Firefox中打开这个相同的文件它应该可以正常工作

答案 1 :(得分:0)

您可以尝试安装像node-static这样的小型静态文件Web服务器。只需npm install -g node-static(需要node.js),然后 - 在The-Backbone-Store/目录中输入static。您现在应该可以访问http://localhost:8080