何时使用gruntjs作为JavaScript开发人员
首先,我还没有真正理解gruntjs的真正功能,但我有一些想法。我希望通过观察它是如何被使用的,以及它的用途,我将看到它的用途。那么,有谁能向我解释一下gruntjs是什么,为什么要用它,为什么要用它何时使用gruntjs作为JavaScript开发人员,gruntjs,Gruntjs,首先,我还没有真正理解gruntjs的真正功能,但我有一些想法。我希望通过观察它是如何被使用的,以及它的用途,我将看到它的用途。那么,有谁能向我解释一下gruntjs是什么,为什么要用它,为什么要用它 这对独立开发者、团队或两者都有利吗 它只适用于大型项目吗 这只是一种潮流/时尚吗?无缘无故地让事情变得简单 总之,它的好处是什么?对谁来说?Grunt是一个任务执行者。这就是它的全部功能。如果你是Java人,想想Ant 开发人员使用Grunt自动化任务的运行,特别是任务序列。其中一些任务
- 这对独立开发者、团队或两者都有利吗
- 它只适用于大型项目吗
- 这只是一种潮流/时尚吗?无缘无故地让事情变得简单
总之,它的好处是什么?对谁来说?Grunt是一个任务执行者。这就是它的全部功能。如果你是Java人,想想Ant 开发人员使用Grunt自动化任务的运行,特别是任务序列。其中一些任务非常普遍,比如linting JavaScript、运行单元测试或缩小JavaScript,它们被打包为插件,供您免费使用。例如,
grunt contrib clean
是一个包含clean
任务的插件。此任务只是删除目录列表的内容,这是构建过程中的一个常见步骤。要使用它,首先使用
grunt.loadNpmTasks('grunt-contrib-clean');
然后配置clean
任务,使用
grunt.initConfig({
clean: [ 'minified' ]
});
现在可以使用从命令行运行clean
任务
grunt clean
为了可视化它的潜力,想象一个任务,它清理目录,然后使用Karma运行Jasmine单元测试,然后lints和编译更少的文件,缩小和连接JS文件,并将它们打包以供部署,或者直接部署它们
来回答你的问题
- 这对从事该项目的任何人都是有益的
- 好处与你必须处理的重复性任务数量成正比
- 它是一种工具,而不是一种趋势/时尚,它简化了流程,而不是使流程过于复杂
uglify:{
app: {
src: ['app/**/*.js'],//include all js file in app folder
dest: 'public/site.js'//one file
}
}
grunt.loadNpmTasks('grunt-browserify');//use npm task for browserify
注册任务:在项目中,我们使用diff环境。如果您希望在每个环境部署之前管理要运行的内容
就像只有环境开发监视任务需要的任务一样
grunt.loadNpmTasks('grunt-contrib-watch');
为此,您需要注册任务开发人员
env: {
development: { NODE_ENV: 'development' },
staging: { NODE_ENV: 'staging' },
production: { NODE_ENV: 'production' }
}
grunt.registerTask('dev',['env:development','watch']);//list of task required only for dev env
grunt.registerTask('production',['env:production']);