在开发期间从 Ember 应用提供 iframe 内容
Serving a iframe content from Ember app during development
我的 Ember 应用程序中有一个 public/uploads/...
文件夹,用于保存我的用户上传的所有文件。它包括图像、视频以及我想通过应用程序中的 iframe
提供的一些 .html
文件。
我正在尝试在组件中提供这些 iframe:
<iframe src="/public/uploads/folder/file.html">
开发服务可能正在接收对 file.html
的请求并检查路由器,因为它看起来像一个正常的 GET
请求而不是资产。这正确地给我留下了一个错误:
Uncaught UnrecognizedURLError
有什么方法可以告诉 ember-cli
开发服务器我希望它为特定文件夹提供服务吗?
最好将上传内容保存在 public
文件夹之外,例如在单独的 uploads
文件夹中。
要告诉开发服务器为特定文件夹提供服务,运行 命令:
ember g server
这将生成一个 server/index.js
,然后您可以对其进行自定义。
在导出的函数中添加以下行:
var express = require('express');
app.use('/uploads', express.static(__dirname + "/../uploads"));
最后,如果您还没有使用 express 依赖项,请安装它:
npm install express --save-dev
现在,启动 Ember 开发服务器后,可以提供 uploads
文件夹中的任何文件。
我的 Ember 应用程序中有一个 public/uploads/...
文件夹,用于保存我的用户上传的所有文件。它包括图像、视频以及我想通过应用程序中的 iframe
提供的一些 .html
文件。
我正在尝试在组件中提供这些 iframe:
<iframe src="/public/uploads/folder/file.html">
开发服务可能正在接收对 file.html
的请求并检查路由器,因为它看起来像一个正常的 GET
请求而不是资产。这正确地给我留下了一个错误:
Uncaught UnrecognizedURLError
有什么方法可以告诉 ember-cli
开发服务器我希望它为特定文件夹提供服务吗?
最好将上传内容保存在 public
文件夹之外,例如在单独的 uploads
文件夹中。
要告诉开发服务器为特定文件夹提供服务,运行 命令:
ember g server
这将生成一个 server/index.js
,然后您可以对其进行自定义。
在导出的函数中添加以下行:
var express = require('express');
app.use('/uploads', express.static(__dirname + "/../uploads"));
最后,如果您还没有使用 express 依赖项,请安装它:
npm install express --save-dev
现在,启动 Ember 开发服务器后,可以提供 uploads
文件夹中的任何文件。