javascript - Node.js/Grunt - 无法运行 Grunt 的 watch - 为什么?

标签 javascript node.js terminal gruntjs grunt-contrib-watch

我正在尝试使用 autoprefixer css 后处理器。我正在遵循教程并安装了 npm。然后,我使用 npm 使用该 package.json 文件在项目根目录中安装了 grunt 和 autoprefixer: https://github.com/nDmitry/grunt-autoprefixer/blob/master/package.json

按照教程,我在项目根目录中创建了这个 Gruntfile.js:

module.exports = function (grunt) {
    grunt.initConfig({
        autoprefixer: {
            dist: {
                files: {
                    'build/style.css': 'style.css'
                }
            }
        },
        watch: {
            styles: {
                files: ['style.css'],
                tasks: ['autoprefixer']
            }
        }
    });
    grunt.loadNpmTasks('grunt-autoprefixer');
    grunt.loadNpmTasks('grunt-contrib-watch');
};

之后教程建议使用 Grunt Watch

./node_modules/.bin/grunt watch

结果

-bash: ./node_modules/.bin/grunt: No such file or directory

我还尝试导航到项目内的 grunt 文件夹,然后它说

-bash: node_modules/grunt: is a directory

我的本​​地用户文件夹中还直接有一个 node_modules 文件夹,但寻址该文件夹 grunt 也只是告诉我它是一个文件夹。

请帮助我,为什么这不起作用?我愿意真正学习 grunt,但我什至无法开始使用入门指南...

最佳答案

您安装了grunt-cli吗? (npm install grunt-cli -g) 当您在项目根目录中运行 grunt 时会发生什么?您应该运行的命令就是项目根目录中的 grunt watch

编辑:您的项目根目录还必须有一个 package.json 文件,您可以在其中定义开发依赖项;例如

{
    "name":"yourprojectname",
    "version":"0.0.1",
    "devDependencies":{
        "grunt":"*",
        "grunt-contrib-watch":"*",
        "grunt-autoprefixer":"*"
    }
}

关于javascript - Node.js/Grunt - 无法运行 Grunt 的 watch - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19258223/

相关文章:

javascript - ionic 没有正确加载元素?

node.js - 是否有标准的 Typescript + Nodejs 服务器样板模板?

node.js - 解决Webpack config中plugin加载的模块

macos - Mac应用程序从finder中崩溃,但在Terminal中运行

ubuntu - 如何在 tmux 中更改默认的开始选择键?

javascript - 保存/导出 Chrome 的 JavaScript 控制台输入历史记录

javascript - webpack 需要的动态文件路径?

javascript - 对象中的函数

javascript - 如何使用 pug/jade 渲染 JavaScript

python - 如何在 OSX 10.8 上安装 SimpleCV