2015-04-29 16 views
14

मैं सीख रहा हूं कि वेब ऐप्स बनाने के लिए MEAN स्टैक का उपयोग कैसे करें और अब तक यह बहुत मजेदार रहा है। मेरे लिए अपना कोड जेनरेट करने के लिए यमन जनरेटर या एनपीएम ऐप का उपयोग करने के बजाय, मैं अपना पूरा ऐप ग्राउंड अप से बना रहा हूं। इस तरह से मुझे पता है कि प्रत्येक टुकड़ा कैसे जुड़ता है और मेरे ऐप के साथ क्या चल रहा है। मैं तो बस जब मैं डेवलपर कंसोल को देखा औरत्रुटि प्राप्त करें MEAN ऐप

GET http://blog.dev/bower_components/angular/angular.js 

इतना ही नहीं कोणीय देखा मेरे ऐप्लिकेशन के आगे और पीछे अंत कनेक्ट करने के लिए शुरू हो गया था, लेकिन हर दूसरे संसाधन मैं (Modernizr, कोणीय मार्गों, mootools, restangular , आदि ...)। जब आप योनि कोणीय जनरेटर का उपयोग करते हैं तो आप कोणीय पक्ष को शुरू करने के लिए grunt serve कमांड चलाने के लिए मानते हैं। क्योंकि मैंने ऐप को स्क्रैच से बनाया है और मैं अपने निर्माण उपकरण के लिए एनपीएम का उपयोग कर रहा हूं, मुझे नहीं पता था कि फ्रंट एंड सर्वर कैसे बनाया जाए। तो, मैं बस अपने index.html पर इशारा करते हुए एक साधारण nginx वर्चुअल होस्ट के साथ चला गया। यहाँ config है:

server { 
     listen 80; 

     server_name blog.dev; 

     root /home/michael/Workspace/blog/app; 
     index index.html index.htm; 

     location/{ 
       try_files $uri $uri/ =404; 
     } 
} 

मुझे यकीन है कि क्या अन्य चर स्थिति को प्रभावित कर सकती है, इसलिए यदि मैं कुछ याद कृपया मुझे बताओ और मैं तुम्हें देने के लिए आपको क्या चाहिए खुशी होगी नहीं कर रहा हूँ!

+0

फ़ोल्डर/फ़ाइलों पर अनुमतियों की जांच करें, nginx उपयोगकर्ता इसे पढ़ नहीं सकता है। – vanadium23

+0

नहीं:/मैंने पूरी परियोजना पर chmod -R 755 की कोशिश की और कुछ भी नहीं बदला। – Michaelslec

+0

पथों की जांच करें। क्या फाइलें हैं? – pykiss

उत्तर

5

यदि आप औसत स्टैक का उपयोग कर रहे हैं, तो आप दोनों को पीछे की ओर होस्ट करने और सीधे नोड के साथ फ्रंट एंड की सेवा करने में सक्षम होना चाहिए।

मुझे आपकी परियोजना संरचना के बारे में निश्चित नहीं है, लेकिन यहां एक संरचना है जिसे मैं अभी काम कर रहा हूं।

/bin --contains a file called www.js (used to launch app) 
/data 
/models 
/node_modules 
/public -- contains my angular implementation 
/routes -- contains express routes 
/temp 
/upload 
/views 
app.js -- main configuration for express 
api.js -- my apis 
package.json 

/bin/www.js फ़ाइल में आपके पास कोड नोड सर्वर शुरू करने के लिए कोड है।

var app = require('../app'); 

app.set('port', process.env.PORT || 3000); 

var server = app.listen(app.get('port'), function() { 
debug('Express server listening on port ' + server.address().port); 
});   

तुम भी व्यक्त करने और अपने मार्गों इतनी अच्छी तरह से मार्गों पर देखने के सेटअप करने की आवश्यकता होगी पहली मार्गों निर्देशिका मैं एक फ़ाइल

इस फ़ाइल में index.js कहा जाता है में , मैं एक मार्ग को परिभाषित है कि मेरे कोणीय index.html पृष्ठ की ओर जाता है।

var express = require('express'); 
var router = express.Router(); 

/* GET home page. */ 
router.get('/', function(req, res) { 
res.redirect('/pages/index.html'); 
}); 

module.exports = router; 

और निश्चित रूप से आपको एक्सप्रेस सेट अप करने की आवश्यकता होगी।

process.env.TMPDIR = 'tmp'; // to avoid the EXDEV rename error, see   http://stackoverflow.com/q/21071303/76173 

var express = require('express'); 
var path = require('path'); 
var favicon = require('static-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 
var multer = require('multer'); 
var flow = require('./flow-node.js')('tmp'); 
var multipart = require('connect-multiparty'); 
var multipartMiddleware = multipart(); 
var uuid = require('uuid'); 
var mongoose = require('mongoose'); 
var session = require('express-session'); 

var routes = require('./routes/index'); 

var app = express(); 

app.use(favicon()); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded()); 
app.use(cookieParser()); 
app.use(session({genid: function(req) { return uuid.v4()}, secret: 'XXXXXXXXXXX', 
    saveUninitialized: true, 
    resave: true})); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', routes); 
app.use('/users', users); 

module.exports = app; 

अब यह सोचते हैं आप कहीं 'सार्वजनिक' निर्देशिका में अपने कोणीय फ़ाइलें और जावास्क्रिप्ट है, तो आप निम्न आदेश के साथ नोड शुरू करने में सक्षम होना चाहिए।

node bin/www 

और अपने ब्राउज़र को http://localhost:3000 पर इंगित करें और व्यवसाय में रहें।

आशा है कि इससे सीखने में मदद मिलेगी और खुशी होगी।

संबंधित मुद्दे