Ember.js 在开发期间从Ember应用程序提供iframe内容
我的余烬应用程序中有一个Ember.js 在开发期间从Ember应用程序提供iframe内容,ember.js,ember-cli,Ember.js,Ember Cli,我的余烬应用程序中有一个public/uploads/…文件夹,用于保存我用户上传的所有文件。它包括图像、视频以及一些我想通过应用程序中的iframe提供的.html文件 我试图在组件中提供这些iFrame: <iframe src="/public/uploads/folder/file.html"> 开发服务可能正在接收对file.html的请求,并检查路由器,因为它看起来像是一个正常的GET请求,而不是一个资产。这给我留下了一个错误: 不可预知的不可识别的错误 是否有任何
public/uploads/…
文件夹,用于保存我用户上传的所有文件。它包括图像、视频以及一些我想通过应用程序中的iframe
提供的.html
文件
我试图在组件中提供这些iFrame:
<iframe src="/public/uploads/folder/file.html">
开发服务可能正在接收对file.html
的请求,并检查路由器,因为它看起来像是一个正常的GET
请求,而不是一个资产。这给我留下了一个错误:
不可预知的不可识别的错误
是否有任何方法可以告诉
ember cli
dev服务器我希望它为该特定文件夹提供服务?可能最好将上载保持在public
文件夹之外,例如在一个单独的uploads
文件夹中
要告诉dev服务器为特定文件夹提供服务,请运行以下命令:
ember g server
这将生成一个server/index.js
,然后您可以自定义它
在导出的函数中添加以下行:
var express = require('express');
app.use('/uploads', express.static(__dirname + "/../uploads"));
最后,如果尚未使用express dependency,请安装它:
npm install express --save-dev
现在,在启动Ember dev服务器后,可以提供
上传
文件夹中的任何文件。可能最好将上传保持在公共
文件夹之外,例如在单独的上传
文件夹中
要告诉dev服务器为特定文件夹提供服务,请运行以下命令:
ember g server
这将生成一个server/index.js
,然后您可以自定义它
在导出的函数中添加以下行:
var express = require('express');
app.use('/uploads', express.static(__dirname + "/../uploads"));
最后,如果尚未使用express dependency,请安装它:
npm install express --save-dev
现在,在启动Ember dev服务器后,
uploads
文件夹中的任何文件都可以使用。您使用的是Ember cli mirage吗?如果是这样,您应该添加:this.passthrough('/public/uploads/folder/**')代码>到mirage/config.js谢谢。我真的试过了,但没用。据我所知,此请求没有到达Mirage,因为路由器将其识别为页面请求,然后在我的路由中找不到它。您使用的是ember cli Mirage吗?如果是这样,您应该添加:this.passthrough('/public/uploads/folder/**')代码>到mirage/config.js谢谢。我真的试过了,但没用。据我所知,这个请求没有进入幻影,因为路由器将它识别为一个页面请求,然后在我的路由中找不到它。这非常有效。到底发生了什么?据我所知,server/index.js
允许我们定制开发服务器ember cli
运行,我们告诉它在看到请求时使用express来/upload/…
?这非常有效。到底发生了什么?据我所知,server/index.js
允许我们自定义开发服务器ember cli
的运行,我们告诉它在看到请求/upload/…
时使用express?