将 Ember-CLI 与 Laravel 或其他后端框架一起使用
Posted
技术标签:
【中文标题】将 Ember-CLI 与 Laravel 或其他后端框架一起使用【英文标题】:Ember-CLI rundown using it with Laravel or other backend frameworks 【发布时间】:2014-08-26 08:47:54 【问题描述】:使用ember-starter-kit
,我只需将其内容放入/my_laravel_app/public
文件夹即可,一切正常。
现在我正在尝试使用laravel
和ember-cli
创建一个项目
我对如何构建我的应用程序感到有些困惑?我应该在哪个 laravel 文件夹中运行 ember new my-app
命令?此外,我如何使用apache
来测试我的ember-cli
应用程序而不是使用ember server
命令,因为我需要使用我的laravel 生成的api 来测试它。
非常感谢任何帮助!
【问题讨论】:
【参考方案1】:这是一种方法
进入您的根laravel
文件夹并运行ember new my_app_name
然后进入您的my_app_name
文件夹并创建一个新文件build_custom.sh
将以下行添加到文件中
ember build
cp dist/index.html ../app/views/ember.php
cp -r dist/assets ../public/assets
说明:第一行构建您的 ember-cli 应用程序并在 dist/
文件夹中生成所有必要的文件。第二行将生成的index.html
文件复制到app/views/
文件夹并重命名为ember.php
以便laravel 可以识别它。最后一行只是将所有资产复制到您的 laravel 公用文件夹中
您可以在 laravel 中的 app/routes.php
文件中添加以下内容来为您的 ember 应用程序提供服务。确保它一直在底部,以便您的其他 api 路由优先
Route::get('ember?', function()
return View::make('ember');
)->where('ember', '.*');
应该是这样,一切都应该按预期工作。祝你好运。
【讨论】:
当我在我的 laravel 应用程序上导航到ember
路由时,我仍然收到 UnrecognizedURLError: /ember
。这似乎与设置 ember 应用的 rootUrl 有关。
这对我不起作用。也没有创建 ember.php,也没有移动资产。非常感谢 Ant 的帮助。
@Nouphal.M 你试过从 my-app-name 目录运行 $ bash build_custom.sh 吗?
像魅力一样工作。只需要注意这两行将正确的文件复制到正确的位置:cp dist/index.html ../app/views/ember.php
& cp -r dist/assets ../public/assets
在我的情况下,资产被复制到 /public/assets/assets
文件夹。因此给了UnrecognizedURLError: /ember
。一旦我确定了路径。一切正常【参考方案2】:
这是另一种方法:
您可以创建两个单独的文件夹:backend
(laravel app) 和 frontend
(ember app)
.假设您的 laravel 应用程序在 192.168.10.10
下运行,然后您可以使用 ember-cli 命令代理您的 ember 应用程序 ajax 请求:ember serve --proxy http://192.168.10.10
。使用这个代理选项,所有命令都将被传递到 ip 地址,用 --proxy 选项指定 - 在这种情况下,是 laravel 应用程序正在运行的 ip 地址(api 正在监听的地方)。
【讨论】:
【参考方案3】:如果你收到UnrecognizedURLError: /ember
尝试删除 laravel 上的欢迎路线...
【讨论】:
以上是关于将 Ember-CLI 与 Laravel 或其他后端框架一起使用的主要内容,如果未能解决你的问题,请参考以下文章