我成功地使用了grunt-wiredep包将bower组件注入到我的视图标记中,现在我正在将视图从HTML转换为Jade。然而,当我运行我的构建脚本时,与以前使用HTML时注入的bower脚本不同,它们没有被注入到页面中。
我已经将src
参数改为引用index.jade
而不是index.html
。有什么想法为什么注入不起作用吗?
我曾经遇到过类似的问题,看着正则表达式并不清楚该注入什么。因此,我在这里分享我的解决方案,希望能帮助其他遇到同样问题的人。
在 jade 文件中,你需要添加:
// bower:js
// endbower
而不是:
<!-- bower:css -->
<!-- endbower -->
对于其他文件扩展名,请在wiredep的github测试文件夹中搜索。
// bower:js
转换为<!-- bower:js-->
(没有尾随空格),这个正则表达式无法匹配。在您的Jade文件中使用HTML注释来解决这个问题。 - Simon Robb确保您正在运行最新版本的wiredep 1.8.5
,该版本添加了对Jade的支持。
使用您自己的视图结构更新以下内容。
wiredep: {
target: {
// Point to the files that should be updated when
// you run `grunt wiredep`
src: [
'app/views/**/*.html', // .html support...
'app/views/**/*.jade', // .jade support...
'app/styles/main.scss', // .scss & .sass support...
'app/config.yml' // and .yml & .yaml support out of the box!
],
// Optional:
// ---------
options: {
cwd: '',
dependencies: true,
devDependencies: false,
exclude: [],
fileTypes: {},
ignorePath: '',
overrides: {}
}
}
}