将 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 文件夹即可,一切正常。

现在我正在尝试使用laravelember-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 或其他后端框架一起使用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ember-cli 插件组件中找到 npm 模块

如何更改 ember-cli 中的 dist 文件夹路径?

Laravel 雄辩用 whereHas 或其他限制 withCount

我正在尝试将 hubspot 与 laravel 集成

将LoDash与EmberCLI一起使用

ember-cli 元配置/环境文件