簡體   English   中英

使用nodeJS的angularJS

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM