2017-04-12 82 views
-3

我的用例是我有部分的js代码,我想基于一些用户权限来渲染,服务器端语言是PHP。服务器端模板引擎渲染javascript

现在我正在使用Fat Free框架,但即使在其他框架如laravel中,我也只能找到模板HTML的模板。

我知道我可以使用模板引擎存在只是有条件的模板逻辑打印给予一定的用户权限的<script>标签,但我还没有找到如何做到以下几点在.js文件中

任何实例

实施例:

PHP:

$visible = ['section1' => true, 'section2' => true]; 

//this just renders the js file 
render('test.js', ['visible' => $visible]); 

test.js:

`//this is some kind of templating format` 
{{if(isset($visible['section1']))}} 
    var a = 'Gin'; 

    function sectionA(){ 
     //do something 
    } 
{{endif}} 

{{if(isset($visible['section3']))}} 
    var b = 'Rum'; 

    function sectionB(){ 
     //do something 
    } 
{{endif}} 

的结果将是test.js会被渲染成

var a = 'Gin'; 

function sectionA(){ 
    //do something 
} 
+0

渲染HTML和JavaScript? –

+0

好吧,如果我正确理解问题,我只是用js文件位置的src回显各种脚本,然后客户端请求它们。在Fat Free中,模板文件是.htm文件,基本上是一个模板化的.html文件。然后当我们去下拉的js文件,整个js文件被加载,我没有模板的方式,在它回来之前 –

+0

js文件的位置可以是php文件,它呈现模板,与它的工作方式相同html,只需输出正确的http头来表示输出是javascript,而不是text/html –

回答

0

好了,经过一番玩弄,我已经找到了一个解决方案。当构建html时,你可以回显一个脚本,该脚本具有你想要的任何资源的src。在服务器端,通过渲染一个带有模板标记的js文件(使用模板引擎)来响应javascript src路由,并且事情将按照我希望的方式工作:)

相关问题