我需要在带有快速应用程序的nodejs中将(post)函数的路由放在哪里?

时间:2018-07-09 09:51:15

标签: node.js express routing

我在带有快速应用程序的Node.js中使用Pug建立了一些网站。 网站上还有一个联系表,人们可以填写以提出问题。

我的问题是;我需要在哪里放置邮件功能的路由? 假设该函数中只有console.log(123)可以使它变得容易吗?!

请参阅以下结构(最必要的文件):

<option>

Server.js:

- site
  - config
      - assets
          default.js
          development.js
      - env
          default.js
          development.js
      - lib
          app.js
          express.js
          logger.js
          pug-routes.js
          socket.io.js
      config.js
  - modules
      - core
          - client
              - app
                  config.js
                  init.js
              - config
                  core.client.route-filter.js
                  core.client.routes.js
                  core-admin.client.routes.js
              - controllers
                  header.client.controller.js
                  home.client.controller.js
              - css
              - directives
              - services
              - views
          - server
              - controllers
                  core.server.controller.js
              - routes
                  core.server.routes.js
              - views
                  layout.server.view.html
      - website
          - client
              - css
              - img
              - js   
          - server
              contact.pug
  - node_modules
  - public
  - scripts
  package.json
  server.js

App.js

/* eslint no-mixed-spaces-and-tabs: "error" */
/* eslint indent: ["error", 4] */
'use strict';

/**
 * Module dependencies.
 */

var app = require('./config/lib/app');
var server = app.start();

module.exports = app;

联系表格:

/* eslint no-mixed-spaces-and-tabs: "error" */
/* eslint indent: ["error", 4] */
'use strict';

/**
 * Module dependencies.
 */
var config = require('../config'),
    mongoose = require('./mongoose'),
    express = require('./express'),
    chalk = require('chalk'),
    seed = require('./seed'),
    Mollie = require('mollie-api-node');

function seedDB() {
    if (config.seedDB && config.seedDB.seed) {
        console.log(chalk.bold.red('Warning:  Database seeding is turned on'));
        seed.start();
    }
}

// Initialize Models
mongoose.loadModels(seedDB);

module.exports.init = function init(callback) {
    mongoose.connect(function (db) {
        // Initialize express
        var app = express.init(db);
        if (callback) callback(app, db, config);
    });
};

module.exports.start = function start(callback) {
    var _this = this;
    _this.init(function (app, db, config) {
        // Start the app by listening on <port> at <host>
        app.listen(config.port, config.host, function () {
            // Create server URL
            const proto = process.env.NODE_ENV === 'secure' ? 'https' : 'http';
            var server = `${proto}://${config.host}:${config.port}`;

            // Logging initialization
            console.log('--');
            console.log(chalk.green(config.app.title));
            console.log();
            console.log(chalk.green('Environment:     ' + process.env.NODE_ENV));
            console.log(chalk.green('Server:          ' + server));
            console.log(chalk.green('Database:        ' + config.db.uri));
            console.log(chalk.green('App version:     ' + config.meanjs.version));
            if (config.meanjs['meanjs-version']) {
                console.log(chalk.green('MEAN.JS version: '
                                        + config.meanjs['meanjs-version']));
            }
            console.log('--');

            if (callback) callback(app, db, config);
        });
    });
};

我熟悉node / pug / express,但我不是专家。

1 个答案:

答案 0 :(得分:0)

您可以添加App.js的init()函数,

// Initialize express
var app = express.init(db);

app.post('/mail', (req, res) => {
    // Do your stuff
})

只需确保在启动应用程序之前将其添加。