在grunt中设置一个属性就是创建一个不需要的json对象
Setting a property in grunt is creating an unwanted json object
我正试图用命令grunt.config(<property>, <value>)
在grunt中设置一个属性,grunt将不会转义我的属性名称中的句点.
,并将其转换为一个新的json对象。我正在循环浏览一个项目列表,并创建一个较少文件的列表。这是代码。
grunt.config('projects').forEach(function(project) {
grunt.config('less.development.files.' + project + '.less', 'project/' + project + '.css');
});
我希望结果是一个json对象,具有较少的键和类似于project.less : project.css
的css值。
这给了我一个json对象,看起来像这个
{
"file1": {
"less": "project'/file1.css"
},
"file2": {
"less": "project'/file2.css"
},
"file3": {
"less": "project'/file3.css"
}
}
如果我将文件名从.less
更改为_less
,则对象看起来像我想要的。
{
"file1_less": "project'/file1.css",
"file2_less": "project'/file2.css",
"file3_less": "project'/file3.css",
}
但我希望它是.less
。我该怎么做才能让Grunt不将其创建为新对象?我尝试过双引号、单引号、带转义的单引号,以及将键/值推入变量名并使用变量。这些都不起作用。有人有其他想法吗?谢谢你的帮助。
这应该有效:
grunt.config('projects').forEach(function(project) {
grunt.config.data.less.development.files[project + '.less'] = 'project/' + project + '.css';
});
基本上,您希望使用以.less作为键的连接字符串,这样您就可以使用方括号表示法通过grunt.config.data.less.development.files
对象直接访问它。
这假设你已经有了一个占位符,比如:
grunt.config.init({
less:{
development:{
files:[]
}
}
})
相关文章:
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- 在Knockout js中创建一个包含多行的表,而不需要推送
- 我可以在React和Redux中发送一个AJAX调用,而不需要操作创建者和还原器吗
- 列表视图添加另一个不需要的页面项目
- 如何获取去除不需要的字符的url的最后一个元素
- 数组最后一个单元格中不需要的对象
- GULP Compass 会创建一个不需要的文件,而不是仅使用流
- 使用 gulp 编译 TypeScript 会创建一个不需要的目标文件夹
- 我可以使用 iText 在 pdf 中创建一个不需要的字段吗?
- 一个 F.Select 是否在同一表单中影响另一个?(不需要)
- 需要一个不关心字符串中特殊字符的 JavaScript 函数
- HTML图像“onclick”在调用javascript函数时重定向到另一个页面(不需要)
- 在grunt中设置一个属性就是创建一个不需要的json对象
- 我需要在网页中创建一个帖子,而不需要使用ajax刷新页面
- 一个不需要输入错误消息的assert函数
- 有没有一种方法可以在手机屏幕和桌面屏幕上构建一个使用不同字体的网页,而不需要编写任何JavaScript
- Livecycle ES2—运行一个不需要退出字段的脚本
- Jquery:将一个函数传递给另一个不需要的函数
- 在一个浏览器窗口中有两个web应用程序——一个不需要刷新,而另一个需要刷新
- 如何在你的应用程序上有一个不需要密码就能打开的小部件