2015-05-19 63 views
0

我使用express JS創建了一個構建環境。但是,我遇到了麻煩配置AngularJS視圖 - 普萊斯幫我解決這個問題..如何使用Node.js和AngularJS設置構建環境?

1:

var express = require('express'); 
 
var http = require('http'); 
 
var path = require('path'); 
 
var favicon = require('serve-favicon'); 
 
var logger = require('morgan'); 
 
var cookieParser = require('cookie-parser'); 
 
var bodyParser = require('body-parser'); 
 

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

 
var app = express(); 
 
var httpServer = http.createServer(app); 
 
// view engine setup 
 
//app.set('views', path.join(__dirname, 'views')); 
 
//app.set('view engine', 'jade'); 
 
//res.render('dist/index.html'); 
 
//app.engine('html', require('ejs').renderFile); 
 

 

 
//Trying to setup my view over here -- dist folder is holding the index.html file 
 

 
app.set('views', __dirname + '/dist'); 
 
app.set('view engine', 'html'); 
 

 

 
// uncomment after placing your favicon in /public 
 
//app.use(favicon(__dirname + '/dist/favicon.ico')); 
 
app.use(logger('dev')); 
 
app.use(bodyParser.json()); 
 
app.use(bodyParser.urlencoded({ extended: false })); 
 
app.use(cookieParser()); 
 
app.use(express.static('./dist')); 
 

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

 
// catch 404 and forward to error handler 
 
app.use(function(req, res, next) { 
 
    var err = new Error('Not Found'); 
 
    err.status = 404; 
 
    next(err); 
 
}); 
 

 
// error handlers 
 

 
// development error handler 
 
// will print stacktrace 
 
if (app.get('env') === 'development') { 
 
    app.use(function(err, req, res, next) { 
 
    res.status(err.status || 500); 
 
    res.render('error', { 
 
     message: err.message, 
 
     error: err 
 
    }); 
 
    }); 
 
} 
 

 
// production error handler 
 
// no stacktraces leaked to user 
 
app.use(function(err, req, res, next) { 
 
    res.status(err.status || 500); 
 
    res.render('error', { 
 
    message: err.message, 
 
    error: {} 
 
    }); 
 
}); 
 

 
httpServer.listen('8080'); 
 
console.log("server is started");

上面構建設置被扔以下錯誤::

錯誤:無法找到模塊'html' - 我不知道如何配置Node.Js來引用角度JS veiw和所有的injuctors ..

+0

好了,你的應用程序應該做些什麼呢?提供靜態內容,對嗎? (比如html/css/js文件)這是目前唯一的目標嗎? – zaynetro

回答

0

問題是這一行:

app.set('view engine', 'html'); 

您正在嘗試與HTML值指定視圖引擎,這是不是一個視圖引擎(expressjs嘗試需要HTML模塊internaly,但沒有找到它)。如果您需要爲剛纔的html文件,而無需使用模板:

app.use(express.static(__dirname + '/public')); 

,並將所有文件要服務於公衆的文件夾。

UPD:實際上你可以要求來自玉

的意見/ index.jade

include plain.html 
的意見

/plain.html HTML文件

<!DOCTYPE html> 
... 

和應用.js仍然可以渲染玉石:

res.render(index) 

Andrew Homeyer's answer

參考文獻:

+0

非常感謝您的幫助..但是,我仍然無法做一個安裝..我仍然失去了一些東西..請告訴我.. –