How to use grunt-html installed globally?

a 夏天 提交于 2019-12-09 15:44:01

问题


I would like to use grunt-html task to check my HTML files.

I install the task locally with npm install grunt-html and use it in grunt.js as follows:

module.exports = function (grunt) {

    grunt.loadNpmTasks('grunt-html');

    grunt.initConfig({

        htmllint:{
            all:['*.html']
        },

    });

};

Now I would like to install the grunt-html task globally.

Unfortunately after removing the local grunt-html node module and installing it globally grunt fails to load the task. While running grunt htmllint I get:

>> Local Npm module "grunt-html" not found. Is it installed?

If I remove grunt.loadNpmTasks('grunt-html'); from the grunt.js file I get:

 Task "htmllint" not found. Use --force to continue. 

So my question is how to use grunt-html installed globally?


回答1:


gruntjs doesn't currently support loading globally-installed grunt modules from loadNpmTasks, per the documentation of grunt.loadNpmTasks:

This plugin must be installed locally via npm, and must be relative to the grunt.js gruntfile.

Of course, if you really insist on installing it globally, a hack would be to create a symlink (ln -s) from your local node_modules directory to your global node_modules/grunt-html directory.

If you're doing module development, another alternative would be to use the under-appreciated npm link command that lets you locally install a module that exists elsewhere on you system (see npm help link for usage information).

Both of these approaches, though, don't allow you to truly install the grunt-html package globally.



来源:https://stackoverflow.com/questions/12130349/how-to-use-grunt-html-installed-globally

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!