Javascript 在Symfony2项目中是否可能使用require.js和异步模块定义(AMD)?
我目前正在更新我的工作流程,特别是在前端部分,并开始在我上一个不需要后端的项目中使用、、等 来自Symfony2,我习惯于用Twig编写模板,并让Assetic制作所有必要的魔法,如js/css缩小、资产等。Assetic目前无法以require.js需要的方式提供javascript文件 现在我真的很喜欢RequireJS(AMD)背后的想法,我想知道如何在Symfony2项目中从它的惊人之处获益。imho最明智的方法是将Symfony2项目简化为只提供必要的数据,例如通过提供RESTful接口。这将进一步导致一个完全解耦的前端后端,可以更独立地开发和测试Javascript 在Symfony2项目中是否可能使用require.js和异步模块定义(AMD)?,javascript,rest,symfony,requirejs,amd,Javascript,Rest,Symfony,Requirejs,Amd,我目前正在更新我的工作流程,特别是在前端部分,并开始在我上一个不需要后端的项目中使用、、等 来自Symfony2,我习惯于用Twig编写模板,并让Assetic制作所有必要的魔法,如js/css缩小、资产等。Assetic目前无法以require.js需要的方式提供javascript文件 现在我真的很喜欢RequireJS(AMD)背后的想法,我想知道如何在Symfony2项目中从它的惊人之处获益。imho最明智的方法是将Symfony2项目简化为只提供必要的数据,例如通过提供RESTful接
我的问题是:Symfony2提供给我的完整表单处理(CSRF保护、验证等)和安全性等好处不会丢失吗?是否有人已经这样做了,并且能够分享一些见解?是否有一些缺点/陷阱需要寻找?而且……值得吗?;-) 我们目前正在基于我们自己的RESTful框架重写我们的intranet应用程序,该框架使用了Twig和jQuery,因为我们对现有框架的各个方面都感到失望,例如,和休会 我们发现,集成声明性表单字段验证(负责一类HTTP资源的每个PHP类声明哪些表单字段具有哪些验证要求,REST框架在接收的数据中强制执行这些验证要求)和本机JSON-HAL导出等功能非常简单(我们的PHP对象是HAL格式的,HAL导出只是一个
json\u encode()
调用)
大约有一个月的开发进入了REST框架(包括评估其他框架),你是否认为“值得”取决于系统对你的业务有多重要:-(<
>P>),我们目前正处于基于我们自己的REST框架来重写我们的Intranet应用程序的过程中。它使用了Twig和jQuery,因为我们对现有框架的各个方面都感到失望,例如,和session 我们发现,集成声明性表单字段验证(负责一类HTTP资源的每个PHP类声明哪些表单字段具有哪些验证要求,REST框架在接收的数据中强制执行这些验证要求)和本机JSON-HAL导出等功能非常简单(我们的PHP对象是HAL格式的,HAL导出只是一个json\u encode()
调用)
在REST框架中有大约一个月的开发(包括评估其他框架)。您是否认为“值得”取决于系统对您的业务有多重要:-(<)/P> < P>在我的主TWIG模板中,我定义了这样的JavaScript部分(例如{%BROSJS%})。
<script type="text/javascript">
var config = {
getCoreBundleName: function() {
return 'openframeworkcore';
},
getPath: function(bundleName, filePath) {
return bundleName + '/components/' + filePath;
},
getCorePath: function(filePath) {
return this.getPath(this.getCoreBundleName(), filePath);
}
};
require.config({
baseUrl: '{{ app.request.getBasePath() }}/bundles/',
paths: {
core: 'openframeworkcore/core/js/core',
bootstrap: config.getCorePath('bootstrap/dist/js/bootstrap')
},
shim: {
bootstrap: {
deps: ['jquery']
},
fancybox: {
deps: ['jquery', 'jquery-mousewheel']
},
angular: {
exports: 'angular'
},
restangular: {
deps: ['underscore', 'angular']
},
'jquery-ui': {
deps: ['jquery']
}
}
});
// loads the core.js
require(['core']);
</script>
我已经将requirejs与Symfony2结合起来了
如有进一步问题,请毫不犹豫地问我
干杯在我的主树枝模板中,我定义了如下javascript部分(例如,{%block js%})
<script type="text/javascript">
var config = {
getCoreBundleName: function() {
return 'openframeworkcore';
},
getPath: function(bundleName, filePath) {
return bundleName + '/components/' + filePath;
},
getCorePath: function(filePath) {
return this.getPath(this.getCoreBundleName(), filePath);
}
};
require.config({
baseUrl: '{{ app.request.getBasePath() }}/bundles/',
paths: {
core: 'openframeworkcore/core/js/core',
bootstrap: config.getCorePath('bootstrap/dist/js/bootstrap')
},
shim: {
bootstrap: {
deps: ['jquery']
},
fancybox: {
deps: ['jquery', 'jquery-mousewheel']
},
angular: {
exports: 'angular'
},
restangular: {
deps: ['underscore', 'angular']
},
'jquery-ui': {
deps: ['jquery']
}
}
});
// loads the core.js
require(['core']);
</script>
我已经将requirejs与Symfony2结合起来了
如有进一步问题,请毫不犹豫地问我
干杯您也可以使用。它将Require.js与Assetic集成,允许您使用Symfony2配置系统配置Require.js。您也可以使用。它将Require.js与Assetic集成,并允许您使用Symfony2配置系统配置Require.js。您的解决方案听起来很有前途。缩小呢?你还能通过assetic做到吗?嗨,nietonfir。我还在研究一个单文件解决方案。本文件解释了这一机制。我认为无论如何,你都必须使用r.jsThx来提高警惕!我会接受你的回答,因为你提供了非常好的见解谢谢:)我将此页面添加为书签,以通知您任何更新。您的解决方案听起来非常有希望。缩小呢?你还能通过assetic做到吗?嗨,nietonfir。我还在研究一个单文件解决方案。本文件解释了这一机制。我认为无论如何,你都必须使用r.jsThx来提高警惕!我会接受你的回答,因为你提供了非常好的见解谢谢:)我将此页面添加为书签,以通知您任何更新