2017-03-16 88 views
0

我买了一个主题,期望它有HTML和Angular版本,但我看到的都是HBS文件。 我是新手到grunt/express/npm整个场景,我迷失在如何从这些文件中提取可能的html版本。如何使用车把模板?

有一个Gruntfile.js和我尝试在CLI上运行“grunt”,但我得到一个错误说“无法找到本地grunt文件”。感觉就像是某种手柄模板。

以下是文件结构。 enter image description here

enter image description here

如果这是错误的堆放场,而不是反对投票请注明正确的一个。我会在那里发布。先谢谢你。

回答

0

手把不是什么,而是一个在Mustache之上的模板引擎,这意味着可以看到HTML以及内部的插值变量。那。

举个例子

把手模板看起来像普通的HTML,嵌入式把手表达式。

<div class="entry"> 
    <h1>{{title}}</h1> 
    <div class="body"> 
    {{body}} 
    </div> 
</div> 

甲车把表达式是一个{{,一些内容,然后进行}}

你可能看到更多的助手如{{的#if}}或{{#each}}和等所以可以很容易地迭代或在模板中使用其他必要的逻辑。因此,正如你所提到的Angular,我假设angular是绑定数据,以Handlebar作为模板引擎,或者,你可能有使用Handlebar的Express应用程序。

您需要做的是从句柄模板中提取HTML标签,并忽略{{...}},然后用{{..}}适当替换您的内容。

即使使用Grunt或其他自动化任务运行者(如Gulp或Webpack)也可以进行提取。但是,它可能需要更多的努力和不同的插件或特定的代码。

请记住,您还需要复制CSS才能看到HTML样式表的样式。

最后但并非最不重要,还有其他方法可以提取或获取模板运行,但最简单的方法就是我所解释的。

欲了解更多信息read here

关于:

“无法找到本地咕噜文件”。

它不像一个解决方案那样容易,可能会有不同的问题。但是,您将需要安装(最好)的最新版本咕噜:

npm install grunt --save-dev 

应该哟工作作为--save-dev的将作为DEV-依赖咕噜添加到您的package.json 。这可以很容易地重新安装依赖关系。

希望它适合你。

0

您可以使用此转换那些.hbs文件,.js文件,你可以直接包含到你的HTML我相信 - https://github.com/yaymukund/grunt-ember-handlebars

grunt.initConfig({ 
    ember_handlebars: { 
    all: { 
     src: 'src/templates/**/*.hbs', 
     dest: 'output/javascripts/templates.js' 
    } 
    } 
}); 
+0

Hi..with在hbs文件中,它是HTML与车把模板混合在一起。没有最终处理/呈现html文件的分发或文件夹。 –

0

把手是语义模板引擎,这意味着你的HTML作为字符串创建。把手基本上用来表示你的数据。例如,

JS

var context = {site : jsgyanblogspot.com }; 

把手

<h3>{{site}}</h3> 

在上面,与H3是车把的部分,所述表达{{site}}查找在当前上下文中的值并获取价值jsgyanblogspot.com

句柄部分通过编译转换为HTML,在你的情况下,你需要预编译模板。

预编译之后,所有模板文件将被转换为单个js文件(.hbs文件=> single.js)。

您的single.js文件包含HTML。您需要各自的npm模块进行预编译,只需从项目目录中键入agile,即安装所需的npm模块。

如果这仍然没有解决您的问题,尝试安装咕噜从本地项目目录

执行命令sudo npm install grunt --save-dev你可以在Best Handlebars tutorial with demo and examples预编译一步一步的细节。