Gruntfile.js 配置 npm 打包简化版

mac2025-10-17  6

// 安装依赖 // npm install -g grunt-cli // npm install --save-dev grunt // npm install --save-dev grunt-contrib-less // npm install --save-dev grunt-contrib-watch // 在项目根目录新建此文件:Gruntfile.js // 终端执行> grunt 启动监听 // 终端执行> grunt less:public 发布样式 // 终端执行> grunt less:compress 发布压缩样式 module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), babel: { options: { sourceMap: false, presets: ['@babel/preset-env'] }, dist: { files: [{ expand: true, cwd: 'src', src: ['**/*.js'], //所有js文件 dest: 'build/', //输出到此目录下 rename: function (dest, src) { console.log("rename", src + '------>' + dest); return dest + src; } }] } }, less: { dev: { files: [ { expand: true, cwd: 'src/', src: ['**/*.less'], dest: 'src/', rename: function (dest, src) { // console.log("rename", src + '------>' + dest); return dest + src.replace('less','css'); } } ] }, public: { files: [ { expand: true, cwd: 'src/', src: ['**/*.less'], dest: 'build/', rename: function (dest, src) { // console.log("rename", src + '------>' + dest); return dest + src.replace('less','css'); } } ], }, compress: { files: [{ src: ['src/**/*.css'], dest: 'build/<%= pkg.name %>.min.css' }], options: { compress: true } }, }, watch: { scripts: { files: ['src/**/*.less'], tasks: ['less:dev'] } } }); grunt.loadNpmTasks('grunt-babel'); // babel转译 grunt.loadNpmTasks('grunt-contrib-less'); // less -> css grunt.loadNpmTasks('grunt-contrib-watch'); // 监听文件修改 grunt.registerTask('default', ['less:dev', 'watch']); };

 

最新回复(0)