警告: connect.static は関数ではありません。続行するには --force を使用してください。質問する

警告: connect.static は関数ではありません。続行するには --force を使用してください。質問する

私は 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-devnpm install serve-static --save-dev

いくつかの投稿を見つけましたが、ファイアウォールをオフにすることを提案するものもありましたが、うまくいきませんでした。

他のマシンから同じアプリを実行しようとしたところ正常に動作したため、私のマシンまたは npm/node/connect のバージョンの競合に何か問題があることはわかっています。

システム構成 :

投稿に基づいてconnectとserve-staticをインストールしましたnodejs connect は静的ファイルを見つけられません、それでも同じ

何か助けはありますか?よろしくお願いします

ベストアンサー1

connectインストールして以下を行う必要がありますserve-static:

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

そして、serve-static以下をインポートする必要がありますGruntfile.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)
            ];
          }
        }
      }

おすすめ記事