2016-03-19 37 views
0

我正在准备一个演示我的新的应用程序,暂时将其部署到静态http服务器,没有适当的后端。ember demo ember-cli-mirage无法在没有后端的服务器上工作

我已经将项目配置为从幻影中获取其数据,并且它在本地很好地工作。

的问题是,当我把它上传到我的http服务器,海市蜃楼似乎并不奏效,并演示提出:

vendor-1bce2a3….js:11 Error while processing route: activities Ember Data Request GET /activities returned a 404 
Payload (text/html) 
[Omitted Lengthy HTML] Error: Ember Data Request GET /activities returned a 404 
Payload (text/html) 
[Omitted Lengthy HTML] 
    at new Error (native) 
    at Error.r (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:8:14790) 
    at Error.n (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:19:25963) 
    at e.default.r.default.extend.handleResponse (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:22:29329) 
    at c.error (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:22:29898) 
    at u (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:2:9669) 
    at Object.c.fireWith (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:2:10437) 
    at n (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:3:13352) 
    at XMLHttpRequest.<anonymous> (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:3:19180) 

这是我的海市蜃楼的配置:

// app/mirage/config.js 
export default function() { 

    this.get('/activities', function(db, request) { 
    return { 'activity': db.activity }; 
    }); 

    this.get('/activities/:id', function(db, request) { 
    var id = request.params.id; 
    return { 'activity': db.activity.find(id) }; 
    }); 
} 

它工作在我的本地机器上找到,但它不会在http服务器上工作,有关如何让演示工作的任何想法?

感谢,

+1

是你试图让Apache的东西工作的服务器? Nginx的? IIS? – chrixian

+0

我认为这是一个Apache它是其中一个可以发布PHP网站的网络主机,我在根目录下有一个wordpress应用程序,并在其中创建了一个目录,并尝试通过以下方式访问它:'http://www.my- domain.com/myproject /' –

回答

2

默认情况下,幻影被禁止在production构建。你可以用ENV选项来启用它:

// app/config/environment.js 
... 
if (environment === 'production') { 
    ENV['ember-cli-mirage'] = { 
    enabled: true 
    } 
} 

查看文档的更多信息:http://www.ember-cli-mirage.com/docs/v0.1.x/server-configuration/#enabled

+0

感谢这一点,我收到以下错误:'mirage/config.js:第3行,第7列,'环境'未定义.'和'mirage/config.js:第4行,第5列,'ENV'没有定义。'有什么想法? –

+0

谢谢,实际上要更改的文件是'config/environment.js',如下所述:'http:// www.ember-cli-mirage.com/docs/v0.1.x/server-configuration /'谢谢给我提示。 –

+0

是的,你是对的! –

0

既然你说你可以使用PHP,你很可能会使用Apache和需要改变它如何处理请求使用HTML5 pushState的......工作,如果你不已经有一个.htaccess文件在您/myproject目录,创建它,有它包含:

FallbackResource /myproject/index.html 

这将有阿帕奇沿东西的任何请求传递不存在(通常会导致一个404)到指定的路径...

相关问题