gruntでnode.jsアプリを実行する方法は?

user7104874

フォルダ構造:-

myapp

--public(directory)//ここでpublic(Angularjs、cssなど)に関連するファイル

--server(directory)//ここにサーバーに関連するファイル

--server.js

コード

server.js //at root directory
----------------------
...
var app = express();
app.disable('x-powered-by');

app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());

app.use(express.static(__dirname + '/public')); // set the static files location
app.use('/profilepic', express.static(__dirname + '/uploads/profilepic')); // set the static files location
app.use('/company', express.static(__dirname + '/uploads/company'));
app.use('/download', express.static(__dirname + '/uploads/download'));
app.use(morgan('dev'));

app.use(cookieParser());
app.use(expressSession({
    secret: 'secret',
    resave: true,
    saveUninitialized: false
}));

app.use(passport.initialize());
app.use(passport.session());
require('./server/config/passport')(app, passport);
require('./server/route')(app, passport);
app.use(flash());
if (config.env === 'development') {

    app.use(function(err, req, res, next) {
        console.log(err);
        return res.status(500).json({ message: err.message });
    });

}

app.use(function(err, req, res, next) {
    return res.status(500).json({ message: err.message });
});


app.listen(config.port, function() {
    console.log('app listen on ' + config.port);
});





Gruntfile.js //at root directory
-----------------
module.exports = function(grunt) {

    // Project configuration.
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        jshint: {
            options: {
                reporter: require('jshint-stylish') // use jshint-stylish to make our errors look and read good
            },

            // when this task is run, lint the Gruntfile and all js files in src
            build: ['Grunfile.js', './']
        },
        ngAnnotate: {
            options: {
                singleQuotes: true
            },
            app: {
                files: {
                    './dist/min-safe/services.js': ['./public/scripts/services/*.js'],
                    './dist/min-safe/filters.js': ['./public/scripts/filters/*.js'],
                    './dist/min-safe/directives.js': ['./public/scripts/directives/*.js'],
                    './dist/min-safe/controllers.js': ['./public/scripts/controllers/*.js'],
                    './dist/min-safe/app.ctrl.js': ['./public/scripts/app.ctrl.js'],
                    './dist/min-safe/config.router.js': ['./public/scripts/config.router.js'],
                    './dist/min-safe/config.lazyload.js': ['./public/scripts/config.lazyload.js'],
                    './dist/min-safe/config.js': ['./public/scripts/config.js'],
                    './dist/min-safe/app.js': ['./public/scripts/app.js']
                }
            }
        },
        concat: {
            js: { //target
                src: ['./dist/min-safe/app.js', './dist/min-safe/config.js',
                    './dist/min-safe/config.lazyload.js', './dist/min-safe/config.router.js',
                    './dist/min-safe/app.ctrl.js', './dist/min-safe/controllers.js',
                    './dist/min-safe/directives.js', './dist/min-safe/filters.js', './dist/min-safe/services.js'
                ],
                dest: './dist/min/lms.js'
            }
        },
        copy: {
            main: {
                expand: true,
                src: './dist/min/lms.js',
                dest: './public',
                flatten: true,
                filter: 'isFile'
            }
        },
        connect: {
            options: {
                base: 'xxxxxxxx',
                keepalive: true
            }
        },

    });

    // Load the plugin that provides the "uglify" task.
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-ng-annotate');
    grunt.loadNpmTasks('grunt-contrib-connect');
    grunt.loadNpmTasks('grunt-contrib-copy');

    // Default task(s).
    grunt.registerTask('default', ['ngAnnotate', 'concat', 'copy']);
    grunt.registerTask('server', ['default', 'connect']);
    grunt.registerTask('jshint', ['jshint']);

};

私はアプリを実行してnode server.jsいますが、今度はこのアプリをうなり声で実行したいのですが、実行すると「接続」ターゲットが見つかりませんというエラーがgrunt serverスローされます。

アプリを実行するようにgruntファイルを構成する方法は?

RobC

gruntサーバーを実行すると、「接続」ターゲットが見つかりませんというエラーがスローされます。アプリを実行するようにgruntファイルを構成する方法は?

あなたにはGruntfile.js、更新connect タスクが含まれるようにターゲットを次のように:

// ...
connect: {
    server: { // <-- This is a Target named 'server'.
        options: {
            // <-- Your connect options go here.
            //     https://github.com/gruntjs/grunt-contrib-connect#options
        }
    }
}

次に、grunt.registered.Task()名前server次のように更新します

grunt.registerTask('server', ['default', 'connect:server']);

注:connectタスクをエイリアスする代わりに、構文を使用してタスク内のターゲットをtaskList Array参照するようになりserverましたconnect'connect:server'

に関する詳細については、タスクの作成を参照してくださいgrunt.registered.Task()


編集

コメントのフィードバックと元の投稿/質問に加えられた編集に基づいて更新されました:

$ node server.jsCLI介して実行すると期待どおりに機能すると仮定すると、gruntを介して同じコマンドを実行できます。

  1. grunt-contrib-connect実行してアンインストールします。

$ npm un -D grunt-contrib-connect

  1. コード読み取りの削除ラインgrunt.loadNpmTasks('grunt-contrib-connect');からGruntfile.js

  2. connectからタスクを削除しますGruntfile.js

  3. 以下を実行して、load-grunt-tasksgrunt-shellをインストールします

npm i -D load-grunt-tasks grunt-shell

  1. 次のタスクを追加しますGruntfile.js
// ...
shell: {
    connect: {
        command: 'node server.js'
    }
}
// ...
  1. 電流grunt.registerTask()を次のように変更します。
grunt.registerTask('server', ['default', 'shell:connect']);
  1. 次のコード行を次のコードに追加しますGruntfile.js
require('load-grunt-tasks')(grunt);
  1. 実行$ grunt serverして訪問localhost:3000

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Node.jsアプリで何よりも先にプロセスを実行する方法は?

分類Dev

Dockerで2つのnode.jsアプリとmysqlを実行する方法

分類Dev

IonicモバイルアプリでNode.jsサーバーを実行する方法は?

分類Dev

Gruntで複数のアプリケーションを実行する方法

分類Dev

Flink Kafka-アプリを並列で実行する方法は?

分類Dev

Eclipse TomcatでSpringBootアプリを実行する方法は?

分類Dev

特定のアプリでrakeを実行する方法は?

分類Dev

Xorgでアプリを実行する方法は?

分類Dev

Node / NPM / Gruntがjscsで失敗する(grunt-jscs)

分類Dev

Node.jsアプリをAzureApp Serviceで実行するにはどうすればよいですか?

分類Dev

node.jsアプリがHerokuで実行されていることをプログラムで知る方法はありますか?

分類Dev

Windowsでnode--debug grunt serverを起動する方法は?

分類Dev

Node.js:同じサーバーで複数の異なるアプリを実行してCPU使用率を最適化する方法は?

分類Dev

SpringBootアプリからKSQLを実行する方法は何ですか

分類Dev

Linux で Windows 8 アプリを実行する方法はありますか?

分類Dev

Androidアプリのレイアウトで他のアプリを実行する方法はありますか?

分類Dev

時計なしでgruntサーバーでangularjsアプリを実行する

分類Dev

Node.jsアプリとPHPを同じマシンで実行する

分類Dev

IntelliJなしでlocalhostでSpringアプリを実行する方法は?

分類Dev

MongoDB。node.jsでストアド関数を実行する方法は?

分類Dev

タイムアウトでnode.jsを実行する方法は?

分類Dev

Linux環境で.netアプリケーションを実行する方法は?

分類Dev

SpringBootアプリで移行前にflyway:cleanを実行する方法は?

分類Dev

Spark:LabeledPointでアンダーサンプリングを実行する方法は?

分類Dev

AWSでSparkJavaアプリケーションを実行する方法は?

分類Dev

Windows VMでGUIアプリケーションを実行する方法は?

分類Dev

xamppサーバーでAngularアプリを実行する方法は?

分類Dev

Flutterで実行時にアプリのテーマを変更する方法は?

分類Dev

PM2で2つの別々のアプリを実行する方法は?

Related 関連記事

  1. 1

    Node.jsアプリで何よりも先にプロセスを実行する方法は?

  2. 2

    Dockerで2つのnode.jsアプリとmysqlを実行する方法

  3. 3

    IonicモバイルアプリでNode.jsサーバーを実行する方法は?

  4. 4

    Gruntで複数のアプリケーションを実行する方法

  5. 5

    Flink Kafka-アプリを並列で実行する方法は?

  6. 6

    Eclipse TomcatでSpringBootアプリを実行する方法は?

  7. 7

    特定のアプリでrakeを実行する方法は?

  8. 8

    Xorgでアプリを実行する方法は?

  9. 9

    Node / NPM / Gruntがjscsで失敗する(grunt-jscs)

  10. 10

    Node.jsアプリをAzureApp Serviceで実行するにはどうすればよいですか?

  11. 11

    node.jsアプリがHerokuで実行されていることをプログラムで知る方法はありますか?

  12. 12

    Windowsでnode--debug grunt serverを起動する方法は?

  13. 13

    Node.js:同じサーバーで複数の異なるアプリを実行してCPU使用率を最適化する方法は?

  14. 14

    SpringBootアプリからKSQLを実行する方法は何ですか

  15. 15

    Linux で Windows 8 アプリを実行する方法はありますか?

  16. 16

    Androidアプリのレイアウトで他のアプリを実行する方法はありますか?

  17. 17

    時計なしでgruntサーバーでangularjsアプリを実行する

  18. 18

    Node.jsアプリとPHPを同じマシンで実行する

  19. 19

    IntelliJなしでlocalhostでSpringアプリを実行する方法は?

  20. 20

    MongoDB。node.jsでストアド関数を実行する方法は?

  21. 21

    タイムアウトでnode.jsを実行する方法は?

  22. 22

    Linux環境で.netアプリケーションを実行する方法は?

  23. 23

    SpringBootアプリで移行前にflyway:cleanを実行する方法は?

  24. 24

    Spark:LabeledPointでアンダーサンプリングを実行する方法は?

  25. 25

    AWSでSparkJavaアプリケーションを実行する方法は?

  26. 26

    Windows VMでGUIアプリケーションを実行する方法は?

  27. 27

    xamppサーバーでAngularアプリを実行する方法は?

  28. 28

    Flutterで実行時にアプリのテーマを変更する方法は?

  29. 29

    PM2で2つの別々のアプリを実行する方法は?

ホットタグ

アーカイブ