我在Windows7上使用带有角度生成器的yeoman用于web应用程序。在运行yo angular之后,我运行grunt来构建应用程序以进行部署。我在dist文件夹中的index.html文件相应地更改了连接和缩小的css和js文件。
当我向index.html添加新的js文件时,例如
<script src="bower_components/json3/lib/json3.js"></script>
然后我再次咕噜咕噜地建造; index.html文件不再将css aan js文件更改为缩小文件,它基本上与app目录中的index.html完全相同。
我也尝试将json3.js放在build中:js comments:
<!-- build:js scripts/json.js -->
<script src="bower_components/json3/lib/json3.js"></script>
<!-- endbuild -->
我在这里缺少什么吗?我必须在grunt文件中更改某些内容,例如usemin部分吗?
答案 0 :(得分:9)
我反复遇到这个问题并在我的案例中找到了解决方案。
我正在使用vs 2012为grunt任务创建我的HTML和cmd。似乎我的Line结尾不正确,所以我将它们改为Unix(LF)并且grunt-usemin做了它的事情。将行结尾设置为Windows(CR LF)时,grunt-usemin不会正确更新index.html页面。
希望这有助于某人!
答案 1 :(得分:1)
请注意,您的自定义JavaScripts包含在build:js({.tmp,app})
部分中,这就是为什么它们会在一个文件中缩小的原因。
我不是建议将由凉亭获得的图书馆放到build:js({.tmp,app})
- 请参阅:https://stackoverflow.com/a/19034513/1432478的评论。
一个好主意可能是关注grunt的cdnify
任务
json3 CDN
答案 2 :(得分:1)
我遇到了完全相同的问题。我能找到修复它的唯一方法是在htmlmin
任务下的Gruntfile中。
当index.html文件未更改时,我的htmlmin
任务如下:
htmlmin: {
dist: {
options: {
//options
},
files: [{
expand: true,
cwd: '<%= yeoman.app %>',
src: ['*.html', 'views/{,*/}*.html'],
dest: '<%= yeoman.dist %>'
}]
}
}
如果我只是删除*.html
中的html:files:src
部分,则构建工作正常。我的新htmlmin
任务看起来像这样:
htmlmin: {
dist: {
options: {
//options
},
files: [{
expand: true,
cwd: '<%= yeoman.app %>',
src: ['views/{,*/}*.html'],
dest: '<%= yeoman.dist %>'
}]
}
}
希望这有助于某人。我花了一些时间来弄清楚为什么index.html文件没有被正确编辑。
答案 3 :(得分:0)
我遇到了同样的问题,因为我无法添加角度路由和角度动画 - 我的意思是对文件的引用 - 他们的脚本标记 - 没有保存到index.html文件中。
我发现这是因为我之前输入了他们的脚本标签 我的index.html文件中的标记。之后立即放置它们,它工作正常。