0

我正在向现有的 gruntfile 添加一个新的服务器任务,其中包含将内容构建到缩小文件中的唯一任务。我需要添加服务器/服务任务。/web/*对我来说,服务器任务的目标是连接到中间件代理,以便在遇到时重定向到其他 url 。我不断收到以下错误:

运行“服务器”任务

警告:找不到任务“连接:服务器”。使用 --force 继续。

任何帮助将不胜感激!

module.exports = function (grunt) {
    grunt.loadNpmTasks('grunt-connect-proxy');
    grunt.initConfig({
        connect: {
            server: {
                options: {
                    port: 8080,
                    hostname: 'localhost',
                    middleware: function (connect, options) {
                        var proxy = require('grunt-connect-proxy/lib/utils').proxyRequest;
                        return [
                            // Include the proxy first
                            proxy,
                            // Serve static files.
                            connect.static(options.base),
                            // Make empty directories browsable.
                            connect.directory(options.base)
                        ];
                    }
                },
                proxies: [
                    {
                        context: '/web/*',
                        host: 'blah.com',
                        port: 8080,
                        https: true,
                        secure: false,
                        changeOrigin: true
                    }
                ]
            }
        },
        pkg: grunt.file.readJSON('package.json'),
});

    grunt.registerTask('server', function (target) {
        grunt.task.run([
            'configureProxies:server',
            'connect:server'
        ]);
    });

日志:

C:\AltProject\webapp\WEB-INF\front-end\screening>grunt server --verbose
Initializing
Command-line options: --verbose

Reading "Gruntfile.js" Gruntfile...OK

Registering Gruntfile tasks.

Registering "grunt-contrib-watch" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-contrib-watch\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-contrib-watch\package.json...OK
Loading "watch.js" tasks...OK
+ watch

Registering "grunt-contrib-concat" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-contrib-concat\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-contrib-concat\package.json...OK
Loading "concat.js" tasks...OK
+ concat

Registering "grunt-contrib-uglify" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-contrib-uglify\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-contrib-uglify\package.json...OK
Loading "uglify.js" tasks...OK
+ uglify

Registering "grunt-contrib-copy" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-contrib-copy\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-contrib-copy\package.json...OK
Loading "copy.js" tasks...OK
+ copy

Registering "grunt-concat-css" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-concat-css\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-concat-css\package.json...OK
Loading "concat_css.js" tasks...OK
+ concat_css

Registering "grunt-processhtml" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-processhtml\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-processhtml\package.json...OK
Loading "processhtml.js" tasks...OK
+ processhtml

Registering "rebase" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\rebase\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\rebase\package.json...OK
Loading "grunt-rebase.js" tasks...OK
+ rebase
Loading "gulp-rebase.js" tasks...OK
>> No tasks were registered or unregistered.

Registering "grunt-lineending" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-lineending\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-lineending\package.json...OK
Loading "lineending.js" tasks...OK
+ lineending

Registering "grunt-text-replace" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-text-replace\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-text-replace\package.json...OK
Loading "text-replace.js" tasks...OK
+ replace

Registering "grunt-connect-proxy" local Npm module tasks.
Reading C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-connect-proxy\package.json...OK
Parsing C:\AltProject\webapp\WEB-INF\front-end\screening\node_modules\grunt-connect-proxy\package.json...OK
Loading "connect_proxy.js" tasks...OK
+ configureProxies
Reading package.json...OK
Parsing package.json...OK
Initializing config...OK
Loading "Gruntfile.js" tasks...OK
+ build, server

Running tasks: server

Running "server" task
Warning: Task "connect:server" not found. Use --force to continue.

Aborted due to warnings.
4

1 回答 1

0

我认为您缺少对 grunt-contrib-connect 的依赖并调用grunt.loadNpmTasks('grunt-contrib-connect');. grunt-connect-proxy 只是在它上面添加了代理中间件。

于 2017-06-12T15:32:41.863 回答