【问题标题】:Warning: Task "default" not found. Use --force to continue警告:找不到任务“默认”。使用 --force 继续
【发布时间】:2023-04-01 01:11:01
【问题描述】:

在我添加 postcss 和 autprefixer 之前,我的 gruntfile 按预期工作。我按照https://www.npmjs.com/package/autoprefixer 的指南进行操作。但是我越来越害怕了:

Loading "gruntfile.js" tasks...ERROR
>> TypeError: undefined is not a function
Warning: Task "default" not found. Use --force to continue.

我的 gruntfile 看起来像这样:

module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
  dist: {
    files: {
        "js/wd.min.js" : [
            "node_modules/foundation-sites/dist/js/plugins/foundation.core.min.js",
            "node_modules/foundation-sites/dist/js/plugins/foundation.util.mediaQuery.js",
            "node_modules/foundation-sites/dist/js/plugins/foundation.util.timerAndImageLoader.js",
            "node_modules/foundation-sites/dist/js/plugins/foundation.equalizer.min.js",
            "js/wd.js"
        ]
    },
    options: {
        beautify:true,
        compress:false
    }
  }
},
watch: {
    dist: {
        files: [
            /* JS locations */
            "js/wd.js",

            /* SCSS locations */
            "style/**/*.scss",
        ],
        tasks: [
            "uglify",
            "sass_imports",
            "sass",
            "postcss"
        ]
    }
},
sass: {
    options: {
        loadPath: [
            'node_modules/foundation-sites/scss',
            require("bourbon").includePaths
        ],
    },
    dist: {
        files: {
            "style/style.css" : [
                "style/style.scss",
            ],
        },
        options: {
            require: "sass-css-importer"
        }
    }
},
sass_imports: {
    dist: {
        src: [
            "style/style.scss"
        ],
        dest: "all.scss"
    }
},
postcss: {
    options: {
        map: true,
        processors: [
            require('autoprefixer')({browsers: 'last 2 versions'})
        ]
    },
    dist: {
        src: "style/style.css"
    }
}
});

grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-scss-imports');
grunt.loadNpmTasks('grunt-postcss');

//load watch plugin

// Default task(s).
grunt.registerTask('default', ['watch']);
};

我遇到的所有解决方案都在某个地方引用了一个错字,但我看不到它。任何帮助表示赞赏!

【问题讨论】:

    标签: gruntjs postcss autoprefixer


    【解决方案1】:

    undefined is not a function 暗示两者都

    require('autoprefixer') 不返回函数 - 检查它是否安装正确

    grunt.initConfig 不是函数。当您运行此代码时,您是否将 grunt 传入?例如require('gruntfile.js')(grunt)

    我认为通常你不会将你的 gruntfile 代码包装在一个函数中——getting started example 似乎没有,如果你只是从命令行运行grunt,而不是在这个配置中加载,也许可以解开它并发出咕噜声。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 2015-04-05
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多