我最近在Grunt和Bower使用Yeoman Angular发生器开始了一个新项目。
每当grunt构建我的应用程序时,grunt-bower-install会在index.html文件中重新生成指向bower_components的所有链接。
无论出于何种原因,这些资产都链接到当前目录而不是root,所以当我导航到一个深度超过一级的新Url时,我的所有依赖都会中断。
如何才能使组件链接到根目录而不是当前目录?
目前的结果:
<script src="bower_components/modernizr/modernizr.js"></script>
期望的结果:
<script src="/bower_components/modernizr/modernizr.js"></script>
Gruntfile:
'bower-install': {
app: {
html: '<%= yeoman.app %>/index.html',
ignorePath: '<%= yeoman.app %>/'
}
}
答案 0 :(得分:3)
我和yo 1.1.2有同样的问题,这是我解决问题的方法,在Gruntfile.js中,在wiredep任务中添加fileTypes选项:
// Automatically inject Bower components into the app
wiredep: {
app: {
src: ['<%= yeoman.app %>/index.html'],
ignorePath: new RegExp('^<%= yeoman.app %>/|../'),
fileTypes: {
html: {
replace: {
js: '<script src="/{{filePath}}"></script>',
css: '<link rel="stylesheet" href="/{{filePath}}" />'
}
}
}
}
},