1. ホーム
  2. gruntjs

[解決済み] 警告:connect.static は関数ではありません --force を使用して続行します。

2022-02-09 21:59:33

質問

YO lessapp プロジェクトを使用していて、grunt-contrib-connect" で9000ポートでnode jsサーバを起動するのに役立っています。grunt serve(サーバを起動する)を実行すると、以下の警告が表示されてサービスが中断されます。

Running "connect:livereload" (connect) task
Warning: connect.static is not a function Use --force to continue.

正確なエラーは、Gruntfile.jsの以下の関数で発生しました。

 livereload: {
        options: {
          middleware: function(connect) {
            return [
              connect.static('.tmp'),
              connect().use('/bower_components', connect.static('./bower_components')),
              connect.static(config.app)
            ];
          }
        }
      }, 

をインストールしました。 npm install grunt-contrib-connect --save-dev , npm install serve-static --save-dev

私はいくつかの投稿に遭遇し、いくつかはファイアウォールをオフにすることを示唆しているが、うまくいきませんでした。

他のマシンから同じアプリを実行しようとすると、それはうまく動作するので、私は私のマシンまたはnpm/node/connectのバージョンの競合に関係する何かがあることを知っています。

システム構成:

私は、投稿をもとにconnectとserve-staticをインストールしました。 nodejs connect cannot find static しかし、まだ同じです

何かいい方法はないでしょうか?ありがとうございました。

解決方法を教えてください。

をインストールする必要があります。 connectserve-static :

npm install --save-dev grunt-contrib-connect serve-static 

そして、インポートする serve-staticGruntfile.js :

module.exports = function (grunt) {
  ...
  var serveStatic = require('serve-static');

  grunt.initConfig({
  ...
    connect: {
    ...
      livereload: {
        options: {
          middleware: function(connect) {
            return [
              serveStatic('.tmp'),
              connect().use('/bower_components', serveStatic('./bower_components')),
              serveStatic(config.app)
            ];
          }
        }
      }