How to outsource a template js to a different file

2019-01-24 16:21发布

I have this template script

<script id="some-template" type="text/x-handlebars-template">
   {{#users}}
     {username}
     {email}
</script>

I want to out-source it to a file called "user_template.js" which will look like this:

   {{#users}}
     {username}
     {email}

and make in the main index.html this link:

<script id="some-template" type="text/x-handlebars-template" src="user_template.js"></script>

The problem is - it doesn't work - how do I do it?

2条回答
家丑人穷心不美
2楼-- · 2019-01-24 16:31

You can use ajax to load the template file.

With jQuery:

$.get("user_template.js", function(template_text){
    var template = Handlebars.compile(template_text);
    // more things
});
查看更多
该账号已被封号
3楼-- · 2019-01-24 16:45

I would use RequireJS for this. Lovely to work with modules and there is also a plugin that is called text that works beautifully with templates.

If it sounds interesting, here's some links:

http://requirejs.org/

http://requirejs.org/docs/download.html#text -- The text plugin

RequireJS is only suitable if you want to use modules though, if not Alon's answer is better.

查看更多
登录 后发表回答