在开发过程中从Ember应用程序提供iframe内容

时间:2016-10-31 14:44:13

标签: ember.js ember-cli

我的Ember应用中有一个public/uploads/...文件夹,用于保存我用户上传的所有文件。它包括我想通过应用中的.html投放的图片,视频以及一些iframe文件。

我试图在组件中提供这些iframe:

<iframe src="/public/uploads/folder/file.html">

开发服务可能是接收file.html的请求并检查路由器,因为它看起来像普通GET请求而不是资产。这正确地给我留下了一个错误:

  

Uncaught UnrecognizedURLError

有没有办法告诉ember-cli开发服务器我希望它为该特定文件夹提供服务?

1 个答案:

答案 0 :(得分:2)

最好将上传内容保留在public文件夹之外,例如在单独的uploads文件夹中。

要告诉dev服务器提供特定文件夹,请运行命令:

 ember g server

这将生成server/index.js,然后您可以自定义。

在导出的函数中添加以下行:

var express = require('express');
app.use('/uploads', express.static(__dirname + "/../uploads"));

最后,如果你还没有使用它,请安装快速依赖项:

npm install express --save-dev

现在,启动Ember dev服务器后,可以提供uploads文件夹中的任何文件。