我正在尝试在我的项目中配置grunt-svg-sprite插件,并根据此处的文档http://gruntjs.com/configuring-tasks:
cwd所有src匹配都与此路径相关(但不包括)。
src要匹配的模式,相对于cwd。
根据https://www.npmjs.com/package/grunt-svg-sprite
但是,由于path / to / assets将成为形状ID的一部分,因此在大多数情况下,您很可能希望添加工作目录:
your_target: {
expand : true,
cwd : 'path/to/assets',
src : ['**/*.svg'],
dest : 'path/to/css/dir',
options : {
// Target-specific options
}
},
现在,我的grunt文件有部分:
svg_sprites: {
options: {
},
cw_sprites: {
expand: true,
cwd: 'public/assets/dist/svgs/',
src: ['**/*.svg'],
dest: 'public/assets/stylesheets/svg-sprites',
options: {
shape : {
dimension: {
maxWidth: 32,
maxHeight: 32,
},
spacing: {
padding:0,
}
},
mode: {
css : {
render: {
css: true
},
example:true
},
less: true,
}
}
}
},
当我使用--verbose选项运行上述任务时,我在输出中看到以下内容:
....
Reading public/assets/dist/svgs/uncollapsed-triangle.svg...OK
Reading public/assets/fonts/glyphicons-halflings-regular.svg...OK
Reading public/assets/fonts/myraid-pro/MyriadPro-Regular.svg...OK
Warning: Cannot read property 'replace' of undefined Use --force to continue.
根据上面的日志,它正在尝试读取CWD路径public / assets / dist / svgs之外的其他目录。实际上,它继续读取包含bower_components等的项目的根目录,并扫描整个项目根目录。
我认为使用带有src选项的cwd选项会将其限制为' cwd'的子目录。或相对于' cwd'的目录。为什么要扫描其他目录?
我错过了什么吗?谢谢你的帮助。
答案 0 :(得分:0)
好吧,我想我终于搞清楚了。实际上有两个名称非常相似的项目:
我想使用第一个项目但是错误地安装了第二个项目!!!!!显然它不会起作用: - )
我删除了错误的模块(2)并安装了第一个 - 它就像一个魅力。让我想知道命名约定是否需要对npm模块进行一些思考。