WebPack和NPM脚本主导了现代JavaScript开发,处理任务和捆绑。但是,许多项目仍然依靠咕unt。虽然不是街上最新的孩子,但Grunt仍然是可靠的主力。本文探讨了简化和改善您现有的咕unt项目的策略。
用jit-grunt
增压任务加载
使用grunt.loadNpmTasks
手动加载每个grunt任务是乏味的。 load-grunt-tasks
提供自动化,但jit-grunt
提供更快的性能,尤其对大型项目有益。
性能比较:
没有jit-grunt
:
<code>loading tasks 5.7s ▇▇▇▇▇▇▇▇ 84% assemble:compile 1.1s ▇▇ 16% Total 6.8s</code>
与jit-grunt
:
<code>loading tasks 111ms ▇ 8% loading assemble 221ms ▇▇ 16% assemble:compile 1.1s ▇▇▇▇▇▇▇▇ 77% Total 1.4s</code>
大幅提高速度! jit-grunt
仅根据需要加载任务来实现此优化。
使用jit-grunt
:
- 安装:
npm install jit-grunt --save
- 更换任务加载语句:
模块。Exports= function(grunt){ //而不是单个grunt.loadnpmtasks调用... 需要('jit-grunt')(咕unt); grunt.initConfig({}); }
简化配置加载
下一步是将您的gruntfile分解为较小,更可管理的配置文件。代替单片gruntfile.js
,将您的配置组织到单独的文件中。我们将使用load-grunt-configs
进行有效的加载。
使用load-grunt-configs
:
模块。Exports= function(grunt){ 需要('jit-grunt')(咕unt); const configs = require('load-grunt-configs')(grunt,{ config:{src:'任务/*。js'} }); grunt.initconfig(configs); grunt.registerTask('default',['cssmin']); }
另外,Grunt提供本机任务加载: grunt.loadTasks('tasks')
。但是,这立即执行文件,不理想配置。为了利用这一点,您必须使用grunt.config
在外部文件本身中配置任务。
示例使用grunt.loadTasks
:
//任务/mytask.js 模块。Exports= function(grunt){ grunt.config('mytask',{ 选项:'value' }); }; // gruntfile.js 模块。Exports= function(grunt){ 需要('jit-grunt')(咕unt); grunt.initConfig({}); grunt.loadtasks('tasks'); grunt.registerTask('default',['mytask']); };
高级配置组织:通过功能进行分组
通过文件名组织任务并不总是直观的。一种更有效的方法是通过功能或功能进行分组配置。
代替了许多单独的任务文件,而是创建代表功能的文件(例如, styles.js
, scripts.js
, images.js
)。使用grunt.config.merge
结合相关任务的配置,避免覆盖。
示例:样式配置:
//任务/styles.js 模块。Exports= function(grunt){ grunt.config('sass',{ / * ... * /}); grunt.config('Postcss',{ / * ... * /}); grunt.config.merge({ 手表: { 样式:{ 文件:['source/styles/*。scss'], 任务:['sass','postcss'] } } }); };
这种方法可增强可读性和可维护性,从而更清晰地概述了您的项目结构。
结论
虽然不是最新的技术,但对于适当的组织而言,Grunt仍然是可行的选择。通过利用jit-grunt
, load-grunt-configs
(或带有仔细任务定义的grunt.loadTasks
)以及基于功能的配置结构,您可以显着提高grunt项目的效率和可维护性。请记住,请查阅Grunt文档以获取更多细节和可能性。
以上是让玛丽·昆多组织的治疗付出艰巨的任务的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Atom编辑器mac版下载
最流行的的开源编辑器