【发布时间】:2019-01-13 10:54:41
【问题描述】:
你能帮我解决这个问题吗?
我需要根据修改的文件运行特定任务,例如:
修改: _header.scss
运行: sass:header 任务
修改: _footer.scss
运行: sass:footer task
修改: _banners.scss
运行: sass:banners 任务
我一直在尝试在保存时获取文件名以将其用作参数,但我不知道如何做到这一点。
我的项目允许更多人同时工作,但定义项目的哪个组件将导出到 CSS 的工作是手动的,所以我试图将每个模块的最终 CSS 编译过程自动化。
我的问题是如何识别修改文件的名称,而不是文件的类型。
非常感谢!
【问题讨论】:
-
是的,grunt 将帮助您解决问题。您可以在 grunt watch (gruntfile.js) 中指定不同的文件和任务。以下是如何安装它的快速指南:gruntjs.com/getting-started
-
感谢您的回答,但我知道如何使用 grunt 编译文件和制作任务,但我的问题是如何识别修改文件的名称以根据文件名更改我的任务。
-
为每个文件定义一个watch任务(即
_header.scss、_footer.scss等)。然后watch任务的每个目标都可以调用适当的任务。例如;对于_header.scss和_footer.scss你的watch任务将是这样的:watch: { header: { files: 'path/to/_header.scss', tasks: ['sass:header'] }, footer: { files: 'path/to/_footer.scss', tasks: ['sass:footer'] }, },然后通过你的CLI 运行grunt watch并且每次_header.scss和/或_footer.scss被修改正确的sass:...任务被调用。
标签: css sass gruntjs task watch