我的目的是在使用Yii 2构建的基于PHP的Web应用程序中创建一个丰富的工作岛。
这意味着我有一条路线,比如/cars/index
,目前由Yii在服务器端呈现。现在我想将Yii模板代码移动到Ember模板。
使用Ember-CLI' ember build
组装Ember代码。我已经在Yii public web
目录中创建了两个Ember文件dist/vendor.js
和dist/app.js
的软链接,以便可以从Web浏览器访问代码。为此,必须按照此处所示设置storeConfigInMeta: false
:ember-cli meta config/environment file。
虽然我已成功使Ember使用ember-islands addon来运行我的代码,但目标是保留MVC结构,利用Ember应用程序的模型和控制器。这是为了将来可能完全转移到客户端呈现,并且仅使用组件无法实现。
不幸的是,我在研究这个主题时发现,我必须禁用Ember.Application
的创建,然后手动创建这样的对象。这种方法不适合我的用例,因为这样我就无法在服务器端模板中使用模型和控制器代码。或者我可以吗?
另外,我们如何路由到/cars/index
,而不让框架抛出关于Yii的路线不匹配此格式的错误(目前类似于/index.php?r=cars/index
)? ( Uncaught UnrecognizedURLError )
答案 0 :(得分:0)
尝试使用ember-export-application-global插件,它将允许您访问使用Ember CLI创建的应用程序实例。这样,您就可以直接从服务器代码访问Ember应用程序。