[英]angularJS with nodeJS
最后,我學習了如何使用AngularJS和NodeJ,但是我有一些問題。
首先:我想加載..例如index.html或其他文件,現在我以最簡單的方式來完成本手冊,但是即使如此,我仍然收到index.html中包含的type文件的問題:
資源被解釋為樣式表,但以MIME類型text / html傳輸:...
我該如何糾正? 下面的代碼。
'use strict';
var http = require('http');
var fs = require('fs');
var mysql = require('mysql');
var render = function(response, fileName, code, httpCode){
var code = code || 'utf8';
var httpCode = httpCode || 200;
fs.readFile(fileName, code, function(err, data){
if(err) { return console.log(err); }
response.writeHead(httpCode, {'Content-type': 'text/html; charset='+code});
response.write(data);
response.end();
});
};
http.createServer(function(req, res){
render(res, 'index.html');
}).listen(9999, '127.0.0.1');
console.log('Server running');
HTML:
<!doctype html> <html class="no-js"><head>
<meta charset="utf-8">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type='text/css' href="styles/main.css">
</head><body></body></html>
我可以將nodejs服務器與gruntjs一起使用嗎? 如果是,我該怎么辦? 有人知道只有角+節點的任何教程嗎? 這意味着我知道相當不錯的angularJS,但是我不能將它與nodeJS一起使用。
問題是您的瀏覽器請求了一個css文件,並且您返回了一個MIME類型為text / html的文件。 您將必須處理所有可能的文件類型(js,html,txt,css等)。
我建議您使用現有的模塊(例如express),這將節省大量時間。 安裝Express之后,通過執行以下操作初始化靜態文件服務器:
server.use(express.static(__dirname + '/public'));
這是我的文件夾結構看起來像Angular JS + Node JS(帶有Express JS)
ProjectTitle
|_app
|_bower_components
|_images
|_scripts
|_styles
|_views
|_index.html
|_favicon.ico
|_routes
|_test
|_.bowerrc
|_.jshintignore
|_.jshintrc
|_bower.json
|_Gruntfile.js
|_package.json
|_README.md
|_server.js
這里需要注意3小事
/ app-包含靜態的靜態應用,包括其所有依賴的樣式,腳本和圖像
/ app / script-角度javascript文件
/server.js-節點js Web服務器代碼,這是示例代碼
var express = require('express'),
http = require('http'),
path = require('path');
var app = express();
// all environments
app.configure(function() {
app.set('port', process.env.PORT || 3000);
app.use(express.logger('dev'));
app.use(express.static(path.join(__dirname, 'app'))); // here you are mentioning which directory should be static directory for the project, in this case 'app'
app.use(express.favicon());
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
});
http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});
使用啟動節點js服務器
$ node server.js
它將啟動快速服務器,您可以通過在瀏覽器窗口中鍵入來訪問它
localhost:3000
最好看一下Yeoman並安裝Angular Generator 。 這只是為了設置正確的angular js項目而不會出現錯誤。 如果您有自己的結構,那很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.