【问题标题】:Node, module usage structure节点、模块使用结构
【发布时间】:2018-03-05 11:24:23
【问题描述】:

我一直在尝试了解如何为我的应用设置 Stripe,但在执行该模块时遇到了问题。通常在使用模块时,我会要求它在文件顶部才能使用它,但我不确定如何在 paymentController 文件中执行此操作,或者我什至需要这样做。我导入了 Stripe npm,这是否意味着我可以在全球范围内访问它?好吧,正如您所见,我对此很陌生,并且想了解如何构建它以使付款正常工作。

app.js 文件:

angular.module('userApp', ['appRoutes', 'userControllers', 'userServices', 'ngAnimate', 'mainController', 'authServices', 'managementController', 'paymentController'])

.config(function($httpProvider) {
    $httpProvider.interceptors.push('AuthInterceptors');
});

paymentController 文件:

angular.module('paymentController', [])

.controller('paymentCtrl', function($scope) {

  var app = this; 


});

Server.js 文件:

var express = require('express'); // ExperssJS Framework
var app = express(); // Invoke express to variable for use in application
var port = process.env.PORT || 8080; // Set default port or assign a port in enviornment
var morgan = require('morgan'); // Import Morgan Package
var mongoose = require('mongoose'); // HTTP request logger middleware for Node.js
var bodyParser = require('body-parser'); // Node.js body parsing middleware. Parses incoming request bodies in a middleware before your handlers, available under req.body.
var router = express.Router(); // Invoke the Express Router
var appRoutes = require('./app/routes/api')(router); // Import the application end points/API
var path = require('path'); // Import path module
var passport = require('passport'); // Express-compatible authentication middleware for Node.js.
var social = require('./app/passport/passport')(app, passport); // Import passport.js End Points/API

app.use(morgan('dev')); // Morgan Middleware
app.use(bodyParser.json()); // Body-parser middleware
app.use(bodyParser.urlencoded({ extended: true })); // For parsing application/x-www-form-urlencoded
app.use(express.static(__dirname + '/public')); // Allow front end to access public folder
app.use('/api', appRoutes); // Assign name to end points (e.g., '/api/management/', '/api/users' ,etc. )


mongoose.connect('mongodb://localhost:27017/tutorial', function(err) {
  if (err) {
    console.log('Not connected to the database: ' + err);
  } else {
    console.log('Successfully connected to MongoDB');
  }
});

// Set Application Static Layout
app.get('*', function(req, res) {
    res.sendFile(path.join(__dirname + '/public/app/views/index.html')); // Set index.html as layout
});

// Start Server
app.listen(port, function() {
    console.log('Running the server on port ' + port); // Listen on configured port
});

【问题讨论】:

    标签: javascript angularjs node.js express stripe-payments


    【解决方案1】:

    我建议遵循本 Stripe 教程中针对 Node 显示的内容:

    https://stripe.com/docs/charges

    就像您的其他包含一样,您希望在任何将使用 Stripe 库的 JS 文件的顶部有这样的内容:

    var stripe = require('stripe')('sk_my_secret_key')
    

    然后,在同一个文件的其他地方,你可以调用任何你需要的 Stripe 库方法:

    stripe.charges.create(…)
    

    当然,在生产环境中,您需要构建一个合适的 12 Factor 应用程序[1] 并将您的秘密放入环境变量或配置文件中。

    [1]https://12factor.net/config

    【讨论】:

      猜你喜欢
      • 2016-04-26
      • 2019-06-13
      • 2018-11-27
      • 2021-01-29
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多