Page 473 - AngularJS权威教程
P. 473
34.11 打包模板 453
这个生成器打包了一个测试命令,它会在我们在应用中保存文件时运行。这个打包让测试程 19
序很容易集成到工作流程中。
要运行测试而无需监控文件(比如,运行一次),可以使用这条命令: 20
$ grunt test
这条命令运行一次之后就会退出。推荐对这个工作流程做出两个修改从而在应用中引入自动 21
化测试。
首先,在应用程序的根目录打开Gruntfile.js文件,找到Karma任务。然后,将选项singleRun 22
从true改为false:
23
// ...
]
},
karma: { 24
unit: {
configFile: 'karma.conf.js',
singleRun: false // 将这个选项改为false 25
}
},
cdnify: {
// ... 26
其次,打开karma.conf.js文件,将autoWatch选项从false改为true。
27
现在,运行grunt test时,不再是运行一次后退出,这个任务将会一直开着,同时监控文
件。只要改变文件并保存,这个测试任务就会再次运行。
28
34.10 打包应用
29
在开发好应用程序之后,我们想要建立一个发布版本的应用。创建发布版本的应用时,要包
含所有压缩后的JavaScript和HTML文件,还要打包视图,预处理CSS,等等。
30
要运行构建任务,可以简单地运行grunt build命令:
$ grunt build 31
这会花一些时间运行完整的生成器。当任务完成时,在应用的根目录会得到一个dist/文件夹。
这个文件夹包含所有适用于产品部署的文件。
32
可以将这个文件夹上传到服务器中,或者部署到服务器中让应用程序能够被用户访问。
33
34.11 打包模板
要使应用程序显示得更快,并且无需依靠服务器传输模板,我们可以使用的方法是将模板文 34
件转换为JavaScript文件。
使用Angular的templateCache时,我们会把模板包含到JavaScript文件中。例如,使用XHR 35
替代Angular提取HTML时:
36