angularJS与nodeJS

在我上次学习使用AngularJS和NodeJs,但我有一些问题。

首先:我想加载..例如index.html或其他文件,现在我做这个手册和最简单的我可以,但即使如此,我有types文件的问题,包括在index.html我收到:

将资源解释为样式表,但使用MIMEtypestext / 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> 

我可以使用gruntjs使用nodejs服务器吗? 如果是的话,我该怎么做呢? 有人知道任何教程只有angular度+节点? 这意味着我知道相当不错的angularJS,但我不能使用nodeJS ..

问题是您的浏览器请求了一个css文件,并且您返回了一个MIMEtypes为text / html的文件。 你将不得不处理所有可能的文件types(js,html,txt,css,…)。

我build议你使用现有的快递模块,这将节省大量的时间。 在安装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 imp事情要注意这里

/ app – 包含angular度静态应用程序,包括所有依赖的样式,脚本和图像

/应用程序/脚本 – angularJavaScript文件

/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 

它将启动快递服务器,您可以通过在浏览器窗口中input来访问它

 localhost:3000 

看Yeoman并安装Angular Generator将会很好。 这只是设置适当的angular度js项目没有错误。 如果你有自己的结构,那很好。