将我的角度自定义指令编译为单个.js文件

时间:2015-12-26 18:37:17

标签: javascript html angularjs compilation

我处理了一个角度指令,我想创建一个最终的分发文件。

我的指令有多个文件:controller.js,directive.js,extlib1.js,extlib2.js,main.css和template.html。

我想从4个js文件和HTML(在指令的模板中将html表示为字符串)中创建一个未经编别的单个js文件。

我想要的是将每个.js文件复制/粘贴到新文件,以及将html转换为字符串的结果。但我希望它自动完成

在visual studio 2015中有没有简单的方法呢?

1 个答案:

答案 0 :(得分:1)

您可以创建自定义MSBuild任务来执行此操作。你会想要this blog的内容。确保单独阅读HTML文件,以便您可以使用指令模板中的"字符进行编写。

这是一个例子

<ItemGroup>
   <DirectiveFiles Include="controller.js"/>
   <DirectiveFiles Include="directive.js"/>
   <DirectiveFiles Include="extlib1.js"/>
   <DirectiveFiles Include="extlib2.js"/>
   <DirectiveFiles Include="main.css"/>
   <TemplateFiles Include="template.html"/>
</ItemGroup>

<Target Name="ConcatDirective">
   <ReadLinesFromFile File="%(DirectiveFiles.Identity)">
      <Output TaskParameter="DirectiveLines" ItemName="lines"/>
   </ReadLinesFromFile>
   <ReadLinesFromFile File="%(TemplateFiles.Identity)">
      <Output TaskParameter="TemplateLines" ItemName="lines"/>
   </ReadLinesFromFile>
   <WriteLinesToFile File="directive.js" Lines="@(DirectiveLines)" Overwrite="false" />
   <WriteLinesToFile File="directive.js" Lines="@(TemplateLines)" Overwrite="false" />
</Target>